Sql 将具有空字段的行添加到另一行

Sql 将具有空字段的行添加到另一行,sql,sql-server-2008,Sql,Sql Server 2008,我的SQL Server数据库中有一个如下表: DateHoursName 11-01 3 a 11-01 4 b 11-01 6空 12-01 2 a 12-01 3 c 12-01 1空 我想为每个月将“null”列中的小时数添加到“a”列中。所以它看起来像: DateHoursName 11-01 9 a 11-01 4 b 12-01 3 a 12-01 3 c 我能够让它工作的唯一方法是在select之前修改表,以防止出现null。但是我希望能够在不修改数据库的情况下做到这一点 最好的

我的SQL Server数据库中有一个如下表:

DateHoursName
11-01 3 a
11-01 4 b
11-01 6空
12-01 2 a
12-01 3 c
12-01 1空

我想为每个月将“null”列中的小时数添加到“a”列中。所以它看起来像: DateHoursName
11-01 9 a
11-01 4 b
12-01 3 a
12-01 3 c

我能够让它工作的唯一方法是在select之前修改表,以防止出现null。但是我希望能够在不修改数据库的情况下做到这一点

最好的办法是什么


谢谢

这会帮你完成的-有条件地按名称或“a”(当名称为空时)分组,并从中获取小时数的总和

SELECT Date, SUM(Hours) AS Hours, MAX(Name) AS Name
FROM TableName
GROUP BY (CASE WHEN Name IS NULL THEN 'a' ELSE Name END)

+1用于清晰、简洁的问题。许多新用户会写冗长的段落,其中包含不相关的信息。保持下去:)请澄清:你想要的结果显示“a”为9,而它似乎应该按照你想要的逻辑产生10。这是误算还是我误解了你的要求?