Альтернатива Listagg в db2
Мой клиент использует базу данных db2 без функции listagg, но мне нужно каким-то образом объединить информацию первичного ключа в одном поле.
Прямо сейчас (для Oracle) я использую это как часть большего запроса:
SELECT LISTAGG(COLUMN_NAME || ':' || CONTENT, ',')
WITHIN GROUP (ORDER BY COLUMN_NAME || ':' || CONTENT)
FROM TABLE
WHERE ROW_IDENTIFIER_ID = I.REC_ID AND I.TABLE_RESULT_ID = T.REC_ID
Есть ли альтернативный способ получить результат функции listagg в базе данных db2 до DB2 начиная с версии 9.7 Fix Pack 41?
Версия моего клиентабаза данных: Linux - Enterprise server edition 9.7, выпуск № 08060107
Я получил это, выполнив эти выборы:
SELECT * FROM TABLE(SYSPROC.ENV_GET_INST_INFO()) AS SYSTEMINFO;
SELECT * FROM TABLE(SYSPROC.ENV_GET_PROD_INFO()) AS SYSTEMINFO;
SELECT * FROM TABLE(SYSPROC.ENV_GET_SYS_INFO()) AS SYSTEMINFO;
Я признаю, что я нене понимаю, как это может быть 9.7, но нет функции listagg ?! :смущенный:
Я также выполнил:
SELECT * FROM SYSCAT.FUNCTIONS
Я вернул этосписок функций, но в ответах нет альтернативных функций, таких как xmltext или xmlgroup, упомянутых в альтернативных решениях :(. Какую неандертальскую базу данных использует клиент? Или я что-то упустил?
Спасибо за ответы.