SQL Server上でピボットテーブルのヘルプが必要です。ピボットテーブルSQL Server
私はこの結果を返すビューを持っている:
しかし、エンドユーザーがこのようになり、その結果にいくつかの変更が必要になります。
私はこれを作りましたクエリ:
DECLARE @cols AS NVARCHAR(MAX),
@cols2 AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT distinct ',' + QUOTENAME(pergunta)
from [dbo].[VRespostas]
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @cols2 = '[NQuestionario],[Data],[Utilizador],' + @cols + ',[SubCategoria],[Observacoes]'
print @cols + ' '+ @cols2
set @query = 'SELECT ' + @cols2 + ' from
(
select *
from [dbo].[VRespostas]
) x
pivot
(
max(Resposta)
for Pergunta in (' + @cols + ')
) p '
execute(@query)
結果はほとんど私が欲しいものですが、それは任意のIDの2行を私に与えてくれるので、私は1行だけを必要とします。
結果は次のとおりです。
私が間違ってやってきましたか?
私を助けてもらえますか?
P .:私の悪い英語のために申し訳ありません。 :)
すべての集計を1つのステップで一貫して行うことができます – Serg
@Serg - 動的列リストの生成に間違いはありません。私の回答をお読みください –
コメントが長すぎると、私のバージョンが投稿されます。 – Serg