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

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

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

sql 复制代码
select t1.* from t1 
left join t2 on t1.acct_no = t2.acct_no
and t1.code in (select type1 from tt)

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

sql 复制代码
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
相关推荐
IT成长日记9 小时前
【Hive入门】Hive基础操作与SQL语法:DDL操作全面指南
hive·hadoop·sql·ddl操作
IT成长日记9 小时前
【Hive入门】Hive分桶表深度解析:从哈希分桶到Join优化的完整指南
hive·hadoop·哈希算法·哈希分桶·join优化
和算法死磕到底11 小时前
ubantu18.04(Hadoop3.1.3)之Spark安装和编程实践
大数据·hadoop·pycharm·spark
菜鸟、上路11 小时前
Hadoop 集群扩容新增节点操作文档
大数据·hadoop·分布式
IT成长日记13 小时前
【Hive入门】Hive动态分区与静态分区:使用场景与性能对比完全指南
数据仓库·hive·hadoop·动态分区·静态分区
嘟嘟嘟嘟嘟嘟嘟.14 小时前
spark和hadoop之间的对比和联系
hadoop·spark
一个数据大开发17 小时前
数据资产价值及其实现路径-简答题回顾
大数据·数据仓库·数据
viperrrrrrrrrr720 小时前
大数据学习(112)-HIVE中的窗口函数
hive·sql·学习
酷爱码1 天前
如何通过python连接hive,并对里面的表进行增删改查操作
开发语言·hive·python
Debug_TheWorld1 天前
Hive学习
hive