sql >> Database teknologi >  >> RDS >> Mysql

Række til kolonne transformation i MySQL

Dette kaldes en pivottabel. Det er lidt akavet at producere:

SELECT ID, 
 MAX(CASE Type WHEN 202 THEN Degignation END) AS `202`
 MAX(CASE Type WHEN 234 THEN Degignation END) AS `234`
 MAX(CASE Type WHEN 239 THEN Degignation END) AS `239`
 Email
FROM mytable
GROUP BY ID, Email

Bemærk, at du skal kende alle de distinkte Type værdier, før du skriver forespørgslen. SQL tillader ikke, at et resultatsæt tilføjer flere kolonner dynamisk, da det opdager dataværdier i tabellen. Kolonner skal rettes ved forberedelsestidspunktet for forespørgslen.



  1. Hent Oracle sidst indsatte IDENTITY

  2. Trin for trin opgraderingsproces for R12.2 Upgrade Part -1

  3. Slut med eliminering:Når SQL Server fjerner unødvendige tabeller

  4. kolonne ikke tilladt her fejl i INSERT-sætning