Альтернатива 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, упомянутых в альтернативных решениях :(. Какую неандертальскую базу данных использует клиент? Или я что-то упустил?
Спасибо за ответы.