[英]How can I merge rows and columns from two sql tables into one table
我搜索了一段時間,但找不到類似的東西。
我有兩個包含數據的表,我想將兩個表合二為一。
Tbl1
id nr val1
1 a1 123
2 a2 124
3 a3 125
Tbl2
id nr val2
5 a1 223
6 a2 224
7 a4 225
結果表應該是這樣的。
Tbl
nr val1 val2
a1 123 223
a2 124 224
a3 125 0
a4 0 225
任何幫助,將不勝感激。 提前致謝。
這是MS SQL,我嘗試了合並和加入。 但是他們沒有。
如果您使用MS SQL,則可以嘗試使用完全外部聯接和Isnull函數來獲得所需的結果。
SELECT Isnull(tbl1.nr, tbl2.nr) nr,
Isnull(tbl1.val1, 0) val1,
Isnull(Tbl2.val2, 0) val2 FROM tbl1 FULL OUTER JOIN tbl2 ON tbl1.nr = tbl2.nr
您可以通過將FULL OUTER JOIN
和COALESCE
列在一起來實現。
SELECT COALESCE(tbl1.nr,tbl2.nr) AS nr,tbl1.val1,tbl2.val2
FROM tbl1 FULL OUTER JOIN tbl2
ON tbl1.nr = tbl2.nr;
SELECT NVL(a1.nr,b1.nr) as nr,
NVL(a1.val1,0) AS val1,
NVL(b1.val2,0) AS val2
FROM table1 a1
FULL OUTER JOIN table2 b1 ON a1.nr = b1.nr
ORDER BY a1.nr;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.