[英]SQL Server query about joining 2 table with union
我有兩個表T1
和T2
,它們都包含列ID
和value
。
我需要通過ID
將T1
和T2
加入T3
。
T3
應包含ID
, T1Value
和T2Value
列。
主要要求是, T1
和T2
ID
可能未映射
T1 :
ID VALUE
-----------
1 hi
2 hello
T2 :
ID VALUE
----------
2 kitty
3 dog
然后, T3
應該是
ID T1VALUE T2VALUE
----------------------
1 hi
2 hello kitty
3 dog
是否可以在不使用數據透視表或臨時表的情況下實現此目標(理想情況下應為單個可執行查詢)?
謝謝。
您可以使用FULL OUTER JOIN
SELECT ID = COALESCE(T1.ID, T2.ID),
T1VALUE = T1.VALUE,
T2VALUE = T2.VALUE
FROM T1
FULL OUTER JOIN T2
ON T1.ID = T2.ID
關於FULL OUTER JOIN
的例子很多。 只是搜索它
另一種方法是使用UNION ALL
SELECT T1.ID, T1VALUE = T1.VALUE, T2VALUE = NULL
FROM T1
UNION ALL
SELECT T2.ID, T1VALUE = NULL, T2VALUE = T2.VALUE
FROM T2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.