Я пытаюсь преобразовать некоторые строки в столбцы в MySQL.Я знаю, что об этом уже спрашивали и отвечали, например, здесь .
Моя проблема в том, что в моих строках нет ничего, к чему я мог бы применить конструкцию «если».(По крайней мере, я так думаю.) Например, для следующего ввода
2 5 1000
2 6 2000
я могу выполнить этот запрос:
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
и получить этот вывод:
2 1000 2000
Но моя проблема в том, что мой ввод выглядит примерно так:
2 6 1000
2 6 2000
(значения во втором столбце не являются уникальными.) И мне все еще нужен такой же вывод, то есть:
2 1000 2000
Можно ли это сделать в MySQL?Если да, может ли кто-нибудь помочь мне с этим?