我想在Hive中执行以下查询 -
select * from supp a inner join trd_acct b
on
(a.btch_id = 11170 AND a.btch_id = b.btch_id)
OR (a.btch_id = 11164 AND a.supp_id = b.supp_id)
Run Code Online (Sandbox Code Playgroud)
但是得到错误 -
FAILED:SemanticException [错误10019]:第3行:1或JOIN当前不支持'supp_id'
你可以解决这个问题UNION
:
select * from supp a inner join trd_acct b
on a.btch_id = 11170 AND a.btch_id = b.btch_id
UNION ALL
select * from supp a inner join trd_acct b
on a.btch_id = 11164 AND a.supp_id = b.supp_id
Run Code Online (Sandbox Code Playgroud)
或者您可以尝试CASE EXPRESSION
:
select * from supp a
inner join trd_acct b
on CASE WHEN a.btch_id = 11164 THEN a.supp_id
WHEN a.btch_id = 11170 THEN a.btch_id END
= CASE WHEN a.btch_id = 11164 THEN b.supp_id
WHEN a.btch_id = 11170 then b.btch_id END
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4774 次 |
最近记录: |