2017-06-16 43 views
1

如何顯示來自兩個表(表A和表B)的重疊ID,以及兩個表中的唯一ID? 下面是示例代碼:顯示OUTER JOIN兩個表時的完整列表ID

SELECT A.ID AS ID 
FROM A 
FULL OUTER JOIN B ON A.ID = B.ID 

我覺得有什麼東西我可以用SELECT線做的,但我不知道怎麼辦。

+0

可以請你期望的結果一起發佈樣本源數據的幾行? – Eli

回答

2

coalesce()從一組參數中返回第一個非null值。那是你在找什麼?

rextester演示:http://rextester.com/QYAZV8300

create table a (id int) 
insert into a values (1),(3),(5) 
create table b (id int) 
insert into b values (2),(3),(4) 

select 
    a.id as A_Id 
    , b.id as B_Id 
    , coalesce(a.id,b.id) as Id 
from a 
    full join b 
    on a.id = b.id 

回報:

+------+------+----+ 
| A_Id | B_Id | Id | 
+------+------+----+ 
| 1 | NULL | 1 | 
| 3 | 3 | 3 | 
| 5 | NULL | 5 | 
| NULL | 2 | 2 | 
| NULL | 4 | 4 | 
+------+------+----+ 
+0

我其實只是想輸出一個ID列表結合了ID和B ID,以及我在示例代碼中忘記'FULL'的道歉。 –

+0

@ Y.Z。像'coalesce(a.id,b.id)一樣Id''? – SqlZim