簡體   English   中英

如何將兩個SQL表中的行和列合並到一個表中

[英]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 JOINCOALESCE列在一起來實現。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM