我有SQL Server 2008中的調查問卷數據,我想轉置爲矩陣。
我看到了幾個關於同一主題的帖子,但我只是沒有擺動。樞軸動態列,無聚合
給出的是下表:
Question table
Answer table
Customer table
列:
[CustomerID]
,[QuestionName_1]
,..,[QuestionName_n]
< - 動態問題列數)
的數據:
CustomerID
,Answer_1
,..,Answer_n
檢索的列中的代碼:
DECLARE @columns VARCHAR(8000)
SELECT @columns = COALESCE(@columns + ',[' + cast(QuestionName as varchar) + ']',
'[' + cast(QuestionName as varchar)+ ']')
FROM Answer A
INNER JOIN Question Q ON A.QuestionID = Q.QuestionID
INNER JOIN Customer C ON A.CustomerID = C.CustomerID
GROUP BY Q.QuestionName
SET @columns = '[CustomerID],' + @columns
DECLARE @query VARCHAR(8000)
SET @query = 'Some PIVOT query without aggregation'
EXECUTE(@query)
初始查詢想法是從取pivots with dynamic columns。
可以這樣做,並且樞軸查詢會是什麼樣子?
ps:我不想使用具有最大列數的排名。
問候,
米歇爾
在你的例子中,'choice'字段有什麼數據類型?我有一個varchar字段,其中包含問題的答案。 – 2012-08-16 11:29:51
這是一個'varchar',如果你看SQL提琴它將顯示錶結構。 – Taryn 2012-08-16 11:31:07
我有它的工作,與MIN(QuestionName)。我並不期待那樣! 感謝您的幫助藍色:)。 – 2012-08-16 12:19:15