Liebe DB-Experten,
meine SQL-Kenntnisse sind noch immer ungenügend, sodass ich folgendes Problem nicht verstehe bzw. lösen könnte:
Ich möchte zu einem Ortsnamen einen Zusatz ausgeben, der nach einem Leerzeichen stehen soll, wenn dieser Zusatz nicht mit einem Komma oder Slash beginnt.
Beispiel-Ausgaben (gewünscht):
73479 Ellwangen (Jagst)
03226 Vetschau/Spreewald
In obigen Beispielen ist der Zusatz "(Jagst)" mit einem Leerzeichen getrennt, der Zusatz "/Spreewald" nicht.
Mein Ansatz ist dieser:
SELECT
CONCAT(
`orte`.`PLZ`,
' ',
`orte`.`Name`,
(
SELECT
' '
WHERE
`orte`.`Zusatz` REGEXP '^[^,/]'
),
`orte`.`Zusatz`
) AS `Ort_detailliert`
FROM `orte`
Das Ergebnis ist eine Fehlermeldung dieser Art:
MySQL-Fehler (1064) You have an error in your SQL syntax; [...] syntax to use near 'WHERE
orte
.Zusatz
REGEXP '[1]'),orte
.Zusatz
) AS ' at line xyz
Was mache ich falsch? Mir will nicht einleuchten, wo ich da die SQL-Syntax verletze. Wer kann mir weiterhelfen?
Liebe Grüße,
Felix Riesterer.
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
^,/ ↩︎