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、つまり、集約関数が恒等関数になります。