Я пытаюсь объединить места доставки каждого поставщика в один список для каждого поставщика, как показано ниже.
Данные таблицы:
SUPPLIER_NAME|Ship_from|
Supplier A | IOSL1 |
Supplier A | IHMI1 |
Supplier A | IHMI2 |
Требуемый результат запроса:
SUPPLIER_NAME| Ship_from |
Supplier A |IOSL1, IHMI1, IHMI2|
Похоже, что LISTAGG - это, вероятно, лучший / самый простой способ сделать это, но я не могу заставить его работать, следуя документации по документации DB2 для функции LISTAGG.
SQL:
select
SUPPLIER_ID,
LISTAGG(PROC_FLO_NAME, ', ') within group (order by PROC_FLO_NAME DESC) as Ship_from
from rcx.RXPRF1
group by SUPPLIER_ID
Когда я пытаюсь выполнить этот запрос, я получаю сообщение об ошибке «Недопустимое использование токена ключевого слова GROUP FROM INTO», которое я не смог выяснить, почему.
Я использую DB2 Версии 9.7.500.702 Fix Pack 5 (найден с помощью команды db2level) с QMF 8.1 Fix Pack 15 (Unicode) для запуска запроса.