Sql-Server
將兩個表與包含 null 的鍵組合在一起
我有兩張要加入的桌子
|id |profit| | 1 | 1234 | | 2 | 1345 | | 4 | 1454 | | 5 | 1254 |
和另一張桌子
| id | x loss | y loss | | 2 | 34312 | 4354 | | 3 | 35614 | 4365 | | 4 | 36615 | 4321 |
並將兩者結合起來,這將是我想要的結果
| id | profit | x loss | y loss | | 1 | 1234 | Null | Null | | 2 | 1345 | 34312 | 4354 | | 3 | Null | 35614 | 4365 | | 4 | 1454 | 36615 | 4321 | | 5 | 1254 | Null | Null |
我使用的程式碼是
Select x.id, y.id, y.profit, x.xloss, x.yloss from (select id, SUM(xloss) as xloss, SUM(yloss) AS yloss from #SYSLOSSINC group by id) x full outer join (Select id,sum(profit) as profit from #MTDPROFIT group by ProductCode) y on x.id = y.id
由於錯誤,我不能只選擇 id: “ambiguous column name ‘id’",這會創建兩個帶有 id 的列
| id | id | Profit | xloss | yloss| | Null | 1 | 1234 | Null | Null | | 2 | 2 | 1345 | 34312 | 4354 | | 3 | Null | Null | 35614 | 4365 | | 4 | 4 | 1454 | 36615 | 4321 | | Null | 5 | 1254 | Null | Null |
如何將 id 合併到一列中以使 null 不顯示?
這實際上比你想像的要簡單。要僅獲取一個 ID 列,請嘗試:
SELECT ISNULL(x.Id, y.Id) as Id,...