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
相关推荐
Lx3522 小时前
Hadoop小文件处理难题:合并与优化的最佳实践
大数据·hadoop
君不见,青丝成雪6 小时前
Hadoop技术栈(四)HIVE常用函数汇总
大数据·数据库·数据仓库·hive·sql
最初的↘那颗心16 小时前
Flink Stream API 源码走读 - print()
java·大数据·hadoop·flink·实时计算
君不见,青丝成雪17 小时前
hadoop技术栈(九)Hbase替代方案
大数据·hadoop·hbase
晴天彩虹雨17 小时前
存算分离与云原生:数据平台的新基石
大数据·hadoop·云原生·spark
yatingliu201918 小时前
HiveQL | 个人学习笔记
hive·笔记·sql·学习
SelectDB技术团队20 小时前
Apache Doris 在菜鸟的大规模湖仓业务场景落地实践
数据库·数据仓库·数据分析·apache doris·菜鸟技术
程序员小羊!1 天前
数据仓库&OLTP&OLAP&维度讲解
数据仓库
最初的↘那颗心1 天前
Flink Stream API - 源码开发需求描述
java·大数据·hadoop·flink·实时计算
Lx3521 天前
MapReduce作业调试技巧:从本地测试到集群运行
大数据·hadoop