PIVOT
を使用する場合は、集計関数を使用する必要があります .ただし、あなたの (RespondentId, QuestionId)
組み合わせは一意です。「グループ」には1行しかないため、 MIN()
を使用できます 集約関数として:
SELECT RespondentId, CanBathe, TimesADay, SoapPrice FROM (SELECT RespondentId, ColumnName, AnswerValue FROM MyTable) AS src PIVOT (MIN(AnswerValue) FOR ColumnName IN(CanBathe, TimesADay, SoapPrice)) AS pvt
プレ>グループに含まれる行が 1 つだけの場合、
MIN(value) = value
、つまり、集約関数が恒等関数になります。