0
点赞
收藏
分享

微信扫一扫

hive left join on关联后用in条件过滤问题

鲤鱼打个滚 2024-08-10 阅读 28

当left 或 inner join 关联条件 需要查另外一个表中字段,则可以使用下面的方法。

下面语法是错误写法,运行不会通过。

select t1.* from t1 
left join t2 on t1.acct_no = t2.acct_no
and t1.code in (select type1 from tt)

下面是正确的实现思路,提前在主表中,做好打标字段处理。

select t1.* 
from (
select 
*,
case when tt.type1 is not null then 1 else 0 end as flag
from t1
left join tt
on code = type1
 )t1
left join t2 on t1.acct_no = t2.acct_no
and flag = 1
举报

相关推荐

0 条评论