0
我們有一個要求,在我們試圖使用informatica云爲2個不同數據庫的表執行聯合操作時,我們沒有聯合轉換。所以試圖探索這是否可以使用左/全外連接執行?使用連接執行聯合而不是聯合所有
select * from t join p on t.id = p.id
union
select * from t join p on t.id = p.id2
注:並非UNION ALL只聯盟
我們有一個要求,在我們試圖使用informatica云爲2個不同數據庫的表執行聯合操作時,我們沒有聯合轉換。所以試圖探索這是否可以使用左/全外連接執行?使用連接執行聯合而不是聯合所有
select * from t join p on t.id = p.id
union
select * from t join p on t.id = p.id2
注:並非UNION ALL只聯盟
union
和union all
之間的區別僅僅是去除不同值的。您的問題的答案是,您可以使用一堆coalesce()
語句,select distinct
和full join
來模擬union
。
但是,爲什麼不只是做:
select *
from t join
p
on t.id in (p.id, p.id2);
根據數據,你可能需要select distinct
:
select distinct *
from t join
p
on t.id in (p.id, p.id2);
這裏
T是從Teradata和p是從Oracle,我們正在努力加入t和p兩次。所以發佈的查詢在我們的數據提取方面是正確的 –