要在SQL Server的同一行上显示的Case语句

要在SQL Server的同一行上显示的Case语句,sql,sql-server,Sql,Sql Server,我真的很难回答一个问题 当前查询是 SELECT min(ID), Date, CASE WHEN (ID) = '111' then SUM(Column1) END AS [Outcome1], CASE WHEN (ID) = '222' then SUM(Column1) END AS [Outcome2], CASE WHEN (ID) = '333' then SUM(Column1) END AS [Outcome3], CASE WHEN (ID) = '444' then

我真的很难回答一个问题

当前查询是

SELECT 
min(ID),
Date, 
CASE WHEN (ID) = '111' then SUM(Column1) END AS [Outcome1],
CASE WHEN (ID) = '222' then SUM(Column1) END AS [Outcome2],
CASE WHEN (ID) = '333' then SUM(Column1) END AS [Outcome3],
CASE WHEN (ID) = '444' then SUM(Column1) END AS [Outcome4]
FROM Table1
GROUP BY ID, Date
结果产生

|  ID |     Date | Outcome1 | Outcome2 | Outcome3 | Outcome4 |
|-----|----------|----------|----------|----------|----------|
| 111 | 01/01/18 |       20 |   (null) |   (null) |   (null) |
| 222 | 01/01/18 |   (null) |       20 |   (null) |   (null) |
| 333 | 01/01/18 |   (null) |   (null) |       20 |   (null) |
| 444 | 01/01/18 |   (null) |   (null) |   (null) |       20 |
然而,我正在寻找的结果是

|  ID |     Date | Outcome1 | Outcome2 | Outcome3 | Outcome4 |
|-----|----------|----------|----------|----------|----------|
| 111 | 01/01/18 |       20 |       20 |       20 |       20 |
我曾尝试过分组,但最终的结果是80分。但我希望它能显示4个结果栏

有人能帮我吗?谢谢


SQL Fiddle-

case
语句顶部应用
求和
聚合

SELECT 
min(ID),
Date, 
SUM(CASE WHEN (ID) = '111' then Column1 END) AS [Outcome1],
SUM(CASE WHEN (ID) = '222' then Column1 END) AS [Outcome2],
SUM(CASE WHEN (ID) = '333' then Column1 END) AS [Outcome3],
SUM(CASE WHEN (ID) = '444' then Column1 END) AS [Outcome4]
FROM Table1
GROUP BY Date

同时,通过在
案例
语句顶部应用
总和
聚合,从
分组中删除
ID

SELECT 
min(ID),
Date, 
SUM(CASE WHEN (ID) = '111' then Column1 END) AS [Outcome1],
SUM(CASE WHEN (ID) = '222' then Column1 END) AS [Outcome2],
SUM(CASE WHEN (ID) = '333' then Column1 END) AS [Outcome3],
SUM(CASE WHEN (ID) = '444' then Column1 END) AS [Outcome4]
FROM Table1
GROUP BY Date
同时从
分组中删除
ID

它是大小写表达式,而不是语句它是大小写表达式,而不是语句