我正在SQL Server 2008上开发一个小的存储过程.我对SQL查询知之甚少,但足以实现简单的任务.但是我想出了一个我无法解决的问题.在我开始解释我的问题之前,请原谅我,如果我拼写SQL查询字错了,因为我不是英语母语人士.
我有4个字段(CSV表示):
ID, NAME, VALUES, ANSWER
25, Tom , 2400 , 0
25, Tom , 600 , 0
25, Tom , 500 , 1
25, Tom , 300 , 1
27, Jerry, 100, 0
27, Jerry, 20, 1
27, Jerry, 60, 1
27, Jerry, 2000, 0
Run Code Online (Sandbox Code Playgroud)
我想要做的是按照它的选择进行分组,ID并NAME在名为positive when ANSWER = 1和的字段中汇总它的值negative when ANSWER = 0.
ID, NAME, SUM, NEGATIVE, POSITIVE
25, Tom, 3000, 800
27, Jerry, 2100, 80
Run Code Online (Sandbox Code Playgroud)
我猜我的问题已被问过几次,但我无法找到任何关于它的信息,可能是因为我使用的是错误的条款.无论如何,如果有人可以提供帮助,那将节省我很多时间.
您将使用 CASE 语句来完成此操作。
select Id
, Name
, SUM(case when answer = 1 then Values else 0 end) as Positive
, SUM(case when answer = 0 then Values else 0 end) as Negative
from MyTable
group by Id
, Name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
985 次 |
| 最近记录: |