我的SQL Server数据库中有一个表,如下所示:
姓名的日期和小时数
11/01/3/10/a
11/01/4*
11-01 -11-6* null
12-01 -12-2*
12-01 -3:00-11:00
12-01 *1* null
我想将每个月的"null“列中的小时数添加到"a”列中。所以它看起来就像:日期和小时,名字。
11/01/9/10/a
11/01/4*
12/01/3/12/12/3/a
12-01 -3:00-11:00
我能够使其工作的唯一方法是在select之前修改表,以防止显示null。但我希望能够在不修改数据库的情况下做到这一点。
最好的方法是什么?
谢谢
发布于 2012-12-07 08:25:47
这将为您做这件事-按名称或'a‘(当名称为null时)有条件地分组,并从那里获得小时的总和。
SELECT Date, SUM(Hours) AS Hours, MAX(Name) AS Name
FROM TableName
GROUP BY (CASE WHEN Name IS NULL THEN 'a' ELSE Name END)
https://stackoverflow.com/questions/13755055
复制相似问题