如何在表关联的时候 on 条件中过滤数据

如何在表关联的时候 on 条件中过滤数据

例如:impala 环境

select a.*,c.query_org_id,c.intf_no
from
(select * from
fin_dw_part.dwd_rsk_mkt_int_rate_dd where dt=get_max_dt('fin_dw_part','dwd_rsk_mkt_int_rate_dd','dt='))a
join
(select name,query_org_id,intf_no from fin_dw.dim_cust_mkt_int_rate where is_valid='0') c
on instr(c.name,a.name)=1 
 and case when query_org_id='ZhGXdaziCHAN' and intf_no='BCS4G02' then 1=1 
          when query_org_id='ZhGXdaziCHAN' and intf_no='B4G06' and regexp_replace(substr(a.data_date,1,10),'-','')<'20220219' then 1=0 
          else 1=1 end
posted @ 2022-07-26 09:52  赤兔胭脂小吕布  阅读(92)  评论(0)    收藏  举报