2016-01-13 58 views
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只聯盟

+0

T是從Teradata和p是從Oracle,我們正在努力加入t和p兩次。所以發佈的查詢在我們的數據提取方面是正確的 –

回答

1

unionunion all之間的區別僅僅是去除不同值的。您的問題的答案是,您可以使用一堆coalesce()語句,select distinctfull 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); 
這裏