【发布时间】:2013-04-30 11:25:13
【问题描述】:
我有一张表,其结构和数据如下:
batsman | runs | year
1 | 800 | 2012
1 | 950 | 2011
1 | 1050 | 2010
2 | 550 | 2012
2 | 650 | 2011
2 | 400 | 2010
3 | 900 | 2012
这个数据需要通过sql查询选择为:
batsman | 2012 | 2011 | 2010
1 | 800 | 950 | 1050
2 | 550 | 650 | 400
3 | 900 | - | -
我正在尝试通过存储过程来执行此操作。可以假设列数(以年计)是固定的:3。 另请注意,不需要算术运算 - 我需要的所有数字都已经存在,它们只需要按列表示。
【问题讨论】:
-
您要求的是对数据进行透视。
-
您可以在 SQL Server 中使用数据透视函数。您可以在 [此处][1] [1] 找到示例:stackoverflow.com/questions/15674373/…
-
是的,我确实听说过关于这个问题的术语,但我不知道如何处理它......
-
@semihyagcioglu,这个问题看起来很有帮助,谢谢!我试试看。
标签: sql sql-server-2008 stored-procedures pivot