2017-12-28 88 views
0

これは簡単な質問ですが、何らかの理由で解決できません。2つのテーブルを別々の値で1つのテーブルに結合する

このようにNULL値を取得するように2つのテーブルを結合するにはどうすればよいですか?

表#T1

A 
-- 
1 
2 

表#T2

B 
-- 
3 

所望の結果:

A B 
---- 
1 NULL 
2 NULL 
NULL 3 

EDIT:

私のソリューションは、この

ました
SELECT #T1.A, #T2.B 
FROM #t2 
RIGHT JOIN #T1 ON 1 = 0 

UNION 

SELECT #T1.A, #T2.B 
FROM #t2 
LEFT JOIN #t1 ON 1 = 0 

しかし、それはあまりにも複雑に思えます。何か良い?

答えて

3

使用FULL JOIN

select * 
    from #t1 t1 
    full outer join #t2 t2 on t1.a = t2.b 

またはUNION ALL

select a,Null as b 
from #t1 
union all 
select NULL, b 
from #t2 

を使用したテーブルの両方に共通のレコードが存在しないため、両方のクエリ結果は同じになります。共通レコードがある場合、結果は異なります。シンプルなあなたの条件

+0

おかげを使用し、これはトリックではなかったです! +1 – starbyone

0

これが優れているスーツ1/1

SELECT #T1.A, #T2.B 
FROM #t2 
FULL OUTER JOIN #T1 ON 1 = 0 
+0

それはより簡単で簡単ですか?構文も正しくない – uzi

+0

照会をうまく行った。組合のすべてではなく、完全に参加することができます。 –

関連する問題