sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man överför en resultatuppsättning från SQL

Det krävs för att använda en aggregatfunktion om du använder PIVOT . Men eftersom din (RespondentId, QuestionId) kombinationen är unik, dina "grupper" kommer bara att ha en rad, så du kan använda MIN() som en aggregerad 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

Om en grupp bara innehåller en rad är MIN(value) = value , eller med andra ord:den aggregerade funktionen blir identitetsfunktionen.



  1. Hur TRIM_ORACLE() fungerar i MariaDB

  2. Så här ser du framstegen för .csv-uppladdning i MySQL

  3. Hur man ersätter NULL med ett annat värde i SQL Server – ISNULL()

  4. QueryBuilder/Doctrine Välj gå med i grupp