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

mysql converte più righe in colonne in una singola riga

MySQL non ha la sintassi PIVOT/UNPIVOT, che ti lascia utilizzare una combinazione di espressioni GROUP BY e CASE:

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