Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql convertendo várias linhas em colunas em uma única linha


O MySQL não tem sintaxe PIVOT/UNPIVOT, o que permite que você use uma combinação de expressões 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