2010-04-16 105 views
1

我需要在圖中顯示一些信息,數據保存在SQL Server 2008表中。該圖預計有2列,一個用於QuestionNumber,另一個用於Score。SQLServer 2008透視

包含數據的表格具有與問題編號相對應的列名稱,即A1,A2,A3,A4,B1,B2,B3,B4,C1,C2。每個問題的得分爲1到5.我需要顯示一個圖表,其中X軸顯示A1,A2,A3等,Y軸顯示得分。

我想我不知何故需要旋轉數據來實現這一點,但我不知道如何。也許不同的技術可以實現這一點,而不是一個關鍵點,所以我願意接受任何想法。

回答

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 
+0

這工作完全一樣我想要的。它也教會我如何使用UNPIVOT,這是一個獎勵!非常感謝您花時間分享您的知識,非常感謝。 – Mitch 2010-04-16 10:25:33