簡體   English   中英

如何在其他表中檢查聯接值是否為空和查找

[英]How to Check join value for null and lookup in the other tables

如果accomm_bktype_bk的連接值為Null,則如何在表中查找值表示lookup_accomm_bklookup_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_bkaccomm_bklookup_type_bktype_bk和獲取值。

accomm_bk | type_bk
--------------------
NULL      | NULL

如果Result為NULL,則如何查找staging。使用表lookup_accomm_bk的accomm_bk列和表lookup_type_bk的type_bk列來契約a並獲取值。

您將需要在查詢中再添加兩個LEFT JOIN ,以將contract表鏈接到表lookup_accomm_bklookup_type_bk

如果在accomm_dimtype_dim找不到查找的值,則使用COALESCE函數顯示查找的值。

這是查詢的框架(您需要為其他LEFT JOIN定義適當的ON子句):

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 ... 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM