sql >> Databasteknik >  >> RDS >> Mysql

Omvandling av rad till kolumn i MySQL

Detta kallas en pivottabell. Det är lite besvärligt att producera:

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

Observera att du måste känna till alla distinkta Type värden innan du skriver frågan. SQL tillåter inte en resultatuppsättning att lägga till fler kolumner dynamiskt eftersom den upptäcker datavärden i tabellen. Kolumner måste fixas vid förberedelsetiden för frågan.



  1. Inget mer SPU

  2. Hur kan jag använda Date Datatype i sql-servern?

  3. Arbeta med Java Data i Alteryx

  4. Enkelt sätt att överföra kolumner och rader i SQL?