Sql结果两列

时间:2013-05-10 15:54:00

标签: sql sql-server tsql

我有下表:

Full name status
ricardo 1 2
ricardo 2 4

如何选择这样返回:

name     totalstatus1 totalstatus2 total
ricardo   2            4             6

1 个答案:

答案 0 :(得分:4)

您没有包含24列的名称,但您可以使用类似的内容:

select name,
  sum(case when status = 1 then value end) totalStatus1,
  sum(case when status = 2 then value end) totalStatus2,
  sum(value) Total
from yourtable
group by name;

请参阅SQL Fiddle with Demo