使用SQL Server选择
问题描述:
选择查询我下面的表格有后:使用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,对不对?
也许你想只是使用左外部联接
+0
那么你可以显示'LEFT OUTER JOIN'语法,将产生所需的结果? – 2012-03-29 15:48:29
+0
忘记它......正确的答案是使用“group by”和最大聚合函数 – MrJames 2012-03-29 19:20:44
什么是会产生这种结果的规则? – Oded 2012-03-29 15:14:23