Det er påkrævet at bruge en aggregeret funktion, hvis du bruger PIVOT
. Men da din (RespondentId, QuestionId)
kombinationen er unik, dine "grupper" vil kun have én række, så du kan bruge MIN()
som en samlet funktion:
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
Hvis en gruppe kun indeholder én række, så er MIN(value) = value
, eller med andre ord:den samlede funktion bliver identitetsfunktionen.