use*_*034 5 sql sql-server-2008
我的SQL Server数据库中有一个表,如下所示:
日期时间名称
11-01 3 a
11-01 4 b
11-01 6 null
12-01 2 a
12-01 3 c
12-01 1 null
我想将"null"列中的小时数添加到每个月的"a"列中.所以它看起来像:日期时间名称
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)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
35 次 |
最近记录: |