Если Result равен NULL, то как искать staging.contract a с таблицами lookup_accomm_bk для столбца admm_bk и lookup_type_bk для столбца type_bk и получать значения.
Вам потребуется добавить еще дваLEFT JOIN
s к вашему запросу, чтобы связать таблицу contract
с таблицами lookup_accomm_bk
и lookup_type_bk
.
Затем используйте функцию COALESCE
, чтобы отобразить искомые значения, если они не могут быть найденыв accomm_dim
и type_dim
.
Вот скелет для запроса (вам необходимо определить правильные ON
предложения для дополнительных LEFT JOIN
s):
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 ...