MySQL không có cú pháp PIVOT / UNPIVOT, điều này khiến bạn phải sử dụng kết hợp các biểu thức GROUP BY và 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