如果accomm_bk
和type_bk
的连接值为Null,那么如何在表中查找值lookup_accomm_bk
,lookup_type_bk
。
任何帮助将不胜感激。
select accomm_bk,type_bk
from
staging.contract a
left join dim.accomm_dim b on (a.accomm_id)= b.accomm_hash
left join dim.type_dim c on (a.accomm_id)= c.type_hash
如果结果为NULL,则如何使用表staging.contract a
查找列lookup_accomm_bk
的表accomm_bk
和列lookup_type_bk
的{{1}}并获取值。
示例
type_bk
答案 0 :(得分:1)
如果Result为NULL,则如何查找staging。使用表lookup_accomm_bk替换accomm_bk列并使用lookup_type_bk替换type_bk列并获取值。
您需要在查询中再添加两个LEFT JOIN
,才能将contract
表链接到表lookup_accomm_bk
和lookup_type_bk
。
如果在COALESCE
和accomm_dim
中找不到查找的值,则使用type_dim
函数显示查找的值。
这里是查询的框架(您需要为其他ON
定义适当的LEFT JOIN
子句):
select
COALESCE(b.accomm_bk, lb.accomm_bk),
COALESCE(c.type_bk, lc.type_bk)
from
staging.contract a
left join dim.accomm_dim b on (a.accomm_id)= b.accomm_hash
left join dim.type_dim c on (a.accomm_id)= c.type_hash
left join dim.lookup_accomm_bk lb on ...
left join dim.lookup_type_bk lc on ...