Alternativa Listagg no db2
Meu cliente está usando o banco de dados db2 sem a função listagg, mas preciso agregar de alguma forma as informações da chave primária em um campo.
Agora (para Oracle) estou usando isso como parte de uma consulta maior:
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
Há uma maneira alternativa de obter o resultado da função listagg no banco de dados db2 antes do DB2 a partir da versão 9.7 Fix Pack 41 ?
Versão do banco de dados do meu cliente: Linux - Enterprise Server edition 9.7, release number 08060107
Eu consegui isso executando estes selects:
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;
Eu admito que não entendo, como pode ser 9,7, mas não há função listagg ?! :confuso:
Eu também fiz executado:
SELECT * FROM SYSCAT.FUNCTIONS
Eu volteilista de funções, mas não há funções como xmltext ou xmlgroup mencionado em soluções alternativas para baixo nas respostas :(. O banco de dados neandertal é o cliente usando? Ou estou faltando alguma coisa?
Obrigado pelas respostas.