Moin !
ich habe eine Abfrage für Adressen in unserer Datenbank.
SELECT
LAGE2.BEZEICHNUNG, HSNR.HAUSNUMMER
from AX_LAGBEZMITHNR HSNR,
AX_LAGEBEZEICHNUNG LAGE1,
AX_LAGBEZKATALOGEINTG LAGE2,
AX_GEBAEUDE G
WHERE HSNR.FID_BEZIEHTSICHAUF = G.FID
AND LAGE1.FID = HSNR.FID_LAGEBEZEICHNUNG
AND LAGE1.land||LAGE1.regierungsbezirk||LAGE1.kreis||LAGE1.gemeinde||LAGE1.lage = LAGE2.SCHLUESSELGESAMT
AND G.FID = 4774647
ORDER BY 2
In der Regel wird immer nur eine Adresse zurückgegeben - aber es gibt auch die anderen Fälle, wo mehrere Adressen zuückgegeben werden.
Das Standardergebnis sieht wie folgt aus:
BEZEICHNUNG HAUSNUMMER
----------- ----------
Achternhof 15
Achternhof 17
Achternhof 19
Achternhof 21
4 rows selected.
Nun wollte ich diese Adressen gerne für die nächste Anwendung zu einer Zeichenkette zusammenfassen und habe hierzu LISTAGG gefunden.
Damit die zusammengehörigen Straßennamen und die Adressse erst einmal ein Wert sind habe ich folgende Anpassung vorgenommen:
SELECT
LAGE2.BEZEICHNUNG, HSNR.HAUSNUMMER,
LAGE2.BEZEICHNUNG||' '||HSNR.HAUSNUMMER Volladresse
FROM
...
Das funktioniert auch schon einmal wieder. Nun sollte die Zusammenfassung kommen und da ist mein Problem...
SELECT
LAGE2.BEZEICHNUNG, HSNR.HAUSNUMMER,
LAGE2.BEZEICHNUNG||' '||HSNR.HAUSNUMMER Volladresse,
LISTAGG(Volladresse, ' , ') within group Volladresse
from AX_LAGBEZMITHNR HSNR,
AX_LAGEBEZEICHNUNG LAGE1,
AX_LAGBEZKATALOGEINTG LAGE2,
AX_GEBAEUDE G
WHERE HSNR.FID_BEZIEHTSICHAUF = G.FID
AND LAGE1.FID = HSNR.FID_LAGEBEZEICHNUNG
AND LAGE1.land||LAGE1.regierungsbezirk||LAGE1.kreis||LAGE1.gemeinde||LAGE1.lage = LAGE2.SCHLUESSELGESAMT
AND G.FID = 4774647
ORDER BY 2
Wenn ich diese Abfrage ausführe, dann bekomme ich die Fehlermeldung:
SQL execution error, ORA-00906: Linke Klammer fehlt
Aber welche Klammer soll da fehlen oder wo ist mein grundlegender Fehler ? Ich habe doch nur die beiden Klammern im Rahmen von LISTAGG verwendet !!!
Kann mir einer weiterhelfen ?
Gruß Jan
ich habe eine Abfrage für Adressen in unserer Datenbank.
SELECT
LAGE2.BEZEICHNUNG, HSNR.HAUSNUMMER
from AX_LAGBEZMITHNR HSNR,
AX_LAGEBEZEICHNUNG LAGE1,
AX_LAGBEZKATALOGEINTG LAGE2,
AX_GEBAEUDE G
WHERE HSNR.FID_BEZIEHTSICHAUF = G.FID
AND LAGE1.FID = HSNR.FID_LAGEBEZEICHNUNG
AND LAGE1.land||LAGE1.regierungsbezirk||LAGE1.kreis||LAGE1.gemeinde||LAGE1.lage = LAGE2.SCHLUESSELGESAMT
AND G.FID = 4774647
ORDER BY 2
In der Regel wird immer nur eine Adresse zurückgegeben - aber es gibt auch die anderen Fälle, wo mehrere Adressen zuückgegeben werden.
Das Standardergebnis sieht wie folgt aus:
BEZEICHNUNG HAUSNUMMER
----------- ----------
Achternhof 15
Achternhof 17
Achternhof 19
Achternhof 21
4 rows selected.
Nun wollte ich diese Adressen gerne für die nächste Anwendung zu einer Zeichenkette zusammenfassen und habe hierzu LISTAGG gefunden.
Damit die zusammengehörigen Straßennamen und die Adressse erst einmal ein Wert sind habe ich folgende Anpassung vorgenommen:
SELECT
LAGE2.BEZEICHNUNG, HSNR.HAUSNUMMER,
LAGE2.BEZEICHNUNG||' '||HSNR.HAUSNUMMER Volladresse
FROM
...
Das funktioniert auch schon einmal wieder. Nun sollte die Zusammenfassung kommen und da ist mein Problem...
SELECT
LAGE2.BEZEICHNUNG, HSNR.HAUSNUMMER,
LAGE2.BEZEICHNUNG||' '||HSNR.HAUSNUMMER Volladresse,
LISTAGG(Volladresse, ' , ') within group Volladresse
from AX_LAGBEZMITHNR HSNR,
AX_LAGEBEZEICHNUNG LAGE1,
AX_LAGBEZKATALOGEINTG LAGE2,
AX_GEBAEUDE G
WHERE HSNR.FID_BEZIEHTSICHAUF = G.FID
AND LAGE1.FID = HSNR.FID_LAGEBEZEICHNUNG
AND LAGE1.land||LAGE1.regierungsbezirk||LAGE1.kreis||LAGE1.gemeinde||LAGE1.lage = LAGE2.SCHLUESSELGESAMT
AND G.FID = 4774647
ORDER BY 2
Wenn ich diese Abfrage ausführe, dann bekomme ich die Fehlermeldung:
SQL execution error, ORA-00906: Linke Klammer fehlt
Aber welche Klammer soll da fehlen oder wo ist mein grundlegender Fehler ? Ich habe doch nur die beiden Klammern im Rahmen von LISTAGG verwendet !!!
Kann mir einer weiterhelfen ?
Gruß Jan