SQLServer 2008 Pivot

时间:2010-04-16 00:05:48

标签: sql-server-2008 rotation

我需要在图表中显示一些信息,数据保存在SQL Server 2008表中。该图表预计有2列,一列用于QuestionNumber,另一列用于Score。

包含数据的表格具有与问题编号相对应的列名,即A1,A2,A3,A4,B1,B2,B3,B4,C1,C2。每个问题的得分为1到5.我需要显示一个图表,其中X轴显示A1,A2,A3等,Y轴显示得分。

我在想我不知何故需要旋转数据来实现这个目标,但我不确定如何。也许一种不同的技术可以实现这一点,而不是一个支点,所以我愿意接受任何想法。

1 个答案:

答案 0 :(得分:1)

UNPIVOT可能对您有用,假设您的输入表MyTable具有列ID,A1,A2,A3,A4,A5:

SELECT id, QUESTION, ANSWER
FROM 
    (SELECT ID, A1, A2, A3, A4, A5
    FROM MyTable) AS p
UNPIVOT
    (ANSWER FOR QUESTION IN 
        (A1, A2, A3, A4, A5)
)AS unpvt
GO