列拆分单个ID的总和

时间:2011-06-23 20:07:09

标签: sql select sum teradata

类似于我之前的问题

有这个表

ID, Year, Revenue 
1, 2009, 10 
1, 2009, 20 
1, 2010, 20 
2, 2009, 5 
2, 2010, 50
2, 2010, 1

是否可以进行与此类似的查询?

ID 2009 2010
1  30   20        
2  5    51

1 个答案:

答案 0 :(得分:3)

您想使用PIVOT

here

在这里:How can i use pivot?

<强>更新

使用新信息(Teradata DB),这是解决方案:

select 
  ID,
  Sum(CASE When Year = 2009 then Revenue ELSE 0 END) as Y2009,
  Sum(CASE When Year = 2010 then Revenue ELSE 0 END) as Y2010
From
  YourTable
Group by ID