sql >> Base de Datos >  >> RDS >> Mysql

mysql convirtiendo varias filas en columnas en una sola fila

MySQL no tiene sintaxis PIVOT/UNPIVOT, lo que le permite usar una combinación de expresiones GROUP BY y 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