Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql konvertiert mehrere Zeilen in Spalten in einer einzigen Zeile

MySQL hat keine PIVOT/UNPIVOT-Syntax, sodass Sie eine Kombination aus GROUP BY- und CASE-Ausdrücken verwenden müssen:

INSERT INTO SUMMARY
  (user_id,valueA,valueB) 
  SELECT d.user_id,
         MAX(CASE WHEN d.code = 5 THEN d.value ELSE NULL END),
         MAX(CASE WHEN d.code = 6 THEN d.value ELSE NULL END),
    FROM DETAILS d
GROUP BY d.user_id