Hive SQL:JOIN中同时遇到左右别名

Hive SQL:JOIN中同时遇到左右别名,第1张

Hive SQL:JOIN中同时遇到左右别名

问题来自

join
s中的不等式条件。这带来了问题。以下内容可能足以满足您的目的

create table tmp_leads2 as      select t1.*,(case when s1.period is not null then 'Y' else 'N' end) as flag_cur,(case when s2.period is not null then 'Y' else 'N' end) as flag_prev,s1.cutoff_date as cutoff_date_cur, s1.cutoff_dtkey as cutoff_dtkey_cur ,s2.cutoff_date as cutoff_date_prev, s2.cutoff_dtkey as cutoff_dtkey_prev     from tmp_leads t1 left join         param s1         on s1.period = '(a) Current' left joinparam s2         on s2.period = '(b) Previous'    where (s1.begin_date is null or s1.begin_date <= t1.CreatedDate and t1.CreatedDate < s1.end_date) or          (s2.begin_date is null or s2.begin_date <= t1.CreatedDate and t1.CreatedDate < s2.end_date);

这并不完全等效。它假设如果表中有参数,则所有日期都在表中。那可能是一个合理的假设。如果不是,则将需要更复杂的查询。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4975456.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存