Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql convertissant plusieurs lignes en colonnes dans une seule ligne

MySQL n'a pas de syntaxe PIVOT/UNPIVOT, ce qui vous laisse utiliser une combinaison d'expressions GROUP BY et 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