Itu, diperlukan untuk menggunakan fungsi agregat jika Anda menggunakan PIVOT
. Namun, karena (RespondentId, QuestionId)
. Anda kombinasi unik, "grup" Anda hanya akan memiliki satu baris, jadi Anda dapat menggunakan MIN()
sebagai fungsi agregat:
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
Jika grup hanya berisi satu baris, maka MIN(value) = value
, atau dengan kata lain:fungsi agregat menjadi fungsi identitas.