Listagg Alternative in db2
Mein Kunde verwendet die Datenbank db2 ohne Listagg-Funktion, aber ich muss irgendwie die Primärschlüsselinformationen in einem Feld zusammenfassen.
Im Moment (für Oracle) verwende ich dies als Teil einer größeren Abfrage:
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
Es gibt eine alternative Möglichkeit, das Ergebnis der Listagg-Funktion in der Datenbank db2 vor DB2 ab Version 9.7 Fixpack 4 abzurufen1 ?
Version der Datenbank meines Kunden: Linux - Enterprise Server Edition 9.7, Versionsnummer 08060107
Ich habe es durch Ausführen dieser Selects erhalten:
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;
Ich gebe zu, ich verstehe nicht, wie kann es sein, 9.7, aber es gibt keine Listagg-Funktion ?! :verwirrt:
Ich habe auch ausgeführt:
SELECT * FROM SYSCAT.FUNCTIONS
Ich habe das zurückbekommenFunktionsliste, aber es gibt keine Funktionen wie xmltext oder xmlgroup, die in alternativen Lösungen unten in den Antworten erwähnt werden :(. Welche Neandertalerdatenbank verwendet der Kunde? Oder fehlt mir etwas?
Danke für die Antworten.