У меня есть таблица MySQL с полями и данными, например:
PartNumber Priority SupName
a1 0 One
a2 0 One
a2 1 Two
a3 0 One
a4 1 Two
a5 2 Three
Я пытаюсь создать представление, в котором части, содержащие несколько строк, объединяются в одну строку и в отдельные поля, например
В идеале это;
PartNumber Sup1 Sup2 Sup3
a1 One NULL NULL
a2 One Two NULL
a3 One NULL NULL
a4 Two NULL NULL
a5 Three NULL NULL
Или я могу жить с этим
PartNumber Sup1 Sup2 Sup3
a1 One NULL NULL
a2 One Two NULL
a3 One NULL NULL
a4 NULL Two NULL
a5 NULL NULL Three
Как мне построить представление или оператор выбора, чтобы выполнить это?
Самое близкое, что я пришел к этому моменту, - это;
SELECT PartNumber,
IF(Priority=0, SupName, NULL) AS Sup1,
IF(Priority=1, SupName, NULL) AS Sup2,
IF(Priority=2, SupName, NULL) AS Sup3
FROM SupXref
ORDER BY PartNumber
Однако это дает мне отдельная строка для каждого из полей, и мне нужна одна строка.