2017-06-16 2 views
1

2つのテーブル(テーブルAとテーブルB)の重複IDだけでなく、2つのテーブルのユニークIDを表示する方法もありますか?ここで はサンプルコードです:OUTER JOIN 2つのテーブルの完全なリスト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を組み合わせた1つのIDリストを出力したいだけで、私のサンプルコードではFULLを忘れるという謝罪をしています。 –

+0

@ Y.Z。 Idのように '合体(a.id、b.id)のようなもの? – SqlZim

関連する問題