2
类似的问题,我前面柱拆分总和超过一个ID
具有包含本表
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
类似的问题,我前面柱拆分总和超过一个ID
具有包含本表
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
你想用PIVOT
看here。
更新
随着新的信息(Teradata的数据库),这里的解决方案:
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
可悲的是数据库不是微软而是Teradata的 – Overseer10
更新的解决方案会产生你正试图完成的结果。面临的挑战是,对于每年添加到数据库的数据,最终都需要修改SQL以将其包含在结果中。 –
@Rob一个解决方案是让您的应用程序组装SQL查询字符串。 –