我需要在图表中显示一些信息,数据保存在SQL Server 2008表中。该图表预计有2列,一列用于QuestionNumber,另一列用于Score。
包含数据的表格具有与问题编号相对应的列名,即A1,A2,A3,A4,B1,B2,B3,B4,C1,C2。每个问题的得分为1到5.我需要显示一个图表,其中X轴显示A1,A2,A3等,Y轴显示得分。
我在想我不知何故需要旋转数据来实现这个目标,但我不确定如何。也许一种不同的技术可以实现这一点,而不是一个支点,所以我愿意接受任何想法。
答案 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