右邊的一個簡單的問題,我可以輸入到透視表的nText? (SQL Server 2005中)Sql Server 2005數據透視表是否將nText傳遞給它?
我所擁有的是它記錄了答案例如由以下元素的問卷調查表:在n文本舉行
UserID QuestionNumber Answer
Mic 1 Yes
Mic 2 No
Mic 3 Yes
Ste 1 Yes
Ste 2 No
Ste 3 Yes
Bob 1 Yes
Bob 2 No
Bob 3 Yes
有了答案。反正什麼ID就像一個透視表做的是:
UserID 1 2 3
Mic Yes No Yes
Ste Yes No Yes
Bob Yes No Yes
我有一些測試代碼,創建一個數據透視表,但目前它只是顯示在每列答案的數目(代碼可以在下面找到) 。所以我只想知道是否可以將nText添加到數據透視表中?正如當我嘗試過它會帶來錯誤,並在另一個網站上指出,這是不可能的,所以我想檢查是否是這種情況。
僅供進一步參考,我沒有機會更改數據庫,因爲它與其他尚未創建或有權訪問的系統鏈接。
繼承人的SQL代碼,我在下面的存在:
DECLARE @query NVARCHAR(4000)
DECLARE @count INT
DECLARE @concatcolumns NVARCHAR(4000)
SET @count = 1
SET @concatcolumns = ''
WHILE (@count <=52)
BEGIN
IF @COUNT > 1 AND @COUNT <=52
SET @concatcolumns = (@concatcolumns + ' + ')
SET @concatcolumns = (@concatcolumns + 'CAST ([' + CAST(@count AS NVARCHAR) + '] AS NVARCHAR)')
SET @count = (@count+1)
END
DECLARE @columns NVARCHAR(4000)
SET @count = 1
SET @columns = ''
WHILE (@count <=52)
BEGIN
IF @COUNT > 1 AND @COUNT <=52
SET @columns = (@columns + ',')
SET @columns = (@columns + '[' + CAST(@count AS NVARCHAR) + '] ')
SET @count = (@count+1)
END
SET @query = '
SELECT UserID,
' + @concatcolumns + '
FROM(
SELECT
UserID,
QuestionNumber AS qNum
from QuestionnaireAnswers
where QuestionnaireID = 7
) AS t
PIVOT
(
COUNT (qNum)
FOR qNum IN (' + @columns + ')
) AS PivotTable'
select @query
exec(@query)
我通常不會這樣做,但這是一個遺留數據庫,我還沒有建立(是我的老闆)。我會盡力使它在某個時候更新,但現在真的沒有時間了 – manemawanna 2010-03-29 09:43:20