MySQL, несколько строк для разделения полей

У меня есть таблица 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

Однако это дает мне отдельная строка для каждого из полей, и мне нужна одна строка.

5
задан T Schultz 20 February 2012 в 12:32
поделиться