選擇查詢我下面的表格有後:使用SQL Server選擇
id CN SN DC
1 null null null
1 1234 null 1245
1 null 2536 null
2 null null null
2 null 2596 null
我想使SQL SERVER類似使用SELECT命令:
id CN SN DC
1 1234 2536 1245
2 null 2596 null
誰能幫我說,請? 謝謝!
選擇查詢我下面的表格有後:使用SQL Server選擇
id CN SN DC
1 null null null
1 1234 null 1245
1 null 2536 null
2 null null null
2 null 2596 null
我想使SQL SERVER類似使用SELECT命令:
id CN SN DC
1 1234 2536 1245
2 null 2596 null
誰能幫我說,請? 謝謝!
,但你要添加在ID 1一起一切(列)和id 2相同?
Select id, SUM(ISNULL(CN, 0)), SUM(ISNULL(SN, 0)), SUM(ISNULL(DC, 0)) FROM table
Group by id
你不告訴做什麼時,不止一個「CN」,「SN」或「DC」存在於一個ID,所以有您的問題,許多解決方案,例如:
SELECT id, SUM(CN) CN, SUM(SN) SN, SUM(DC) DC
FROM Table1
GROUP BY id;
和
SELECT id, MAX(CN) CN, MAX(SN) SN, MAX(DC) DC
FROM Table1
GROUP BY id;
都同樣正確。
演示here。
您使用的是FULL OUTER JOIN,對不對?
也許你想只是使用左外部聯接
那麼你可以顯示'LEFT OUTER JOIN'語法,將產生所需的結果? – 2012-03-29 15:48:29
忘記它......正確的答案是使用「group by」和最大聚合函數 – MrJames 2012-03-29 19:20:44
什麼是會產生這種結果的規則? – Oded 2012-03-29 15:14:23