存在NULL varchar值时聚合数值

时间:2017-09-28 16:19:08

标签: sql-server sql-server-2012

我希望将表A转换为SQL Server 2012中的表B.

相同ID为Characters列返回两个不同的值;一个是NULL,另一个是正确的值。如何从“字符”列中删除NULL值并将单个行中的其他数值相加?

表A

ID    Amount      Character
---------------------------
1001    2000       NULL
1001    500       Delight

表B

ID      Amount     Character
-----------------------------
1001    2500         Delight

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

对[字符]使用最大值:

Create table #TableA ([id] int, [Amount] int, [Character] nvarchar(20))

Insert into #TableA Values(1001, 2000, NULL)
Insert into #TableA Values(1001, 500 , 'Delight')

select [ID], Sum([Amount]), Max([Character])
from #TableA
Group by [ID]