Ilja: Bei Bedingung andere Tabelle verwenden

Beitrag lesen

moin,

Schließlich kann ich an dieser Stelle ja auch einfach ein SELECT schreiben und den gewünschten Wert ermitteln:

du machst dir das leben schwere als es ist, geh schritt für schritt vor. als erstes mach einfach nur den SELECT, der dir den richtigen datensatz gibt.

SELECT t1.text
FROM text__general_en t1
WHERE t1.id = 'foo'
;

jetzt haben wir erst mal die richtige basis, um damit weiter zu arbeiten. btw. warum zwei unterschriche hintereinander im tabellennamen ?

der nächste schritt besteht darin, eine funktion zu benutzen, die text auf NULL prüft und dann entsprechend verzweigt. und prüfungen auf NULL sollte man niemals mit dem "=" operator machen. bei mysql gibt es dafür zum beispiel die funktion IFNULL:

SELECT IFNULL(t1.text, (SELECT t2.text
                        FROM text__general_de t2
                        WHERE t2.id = t1.id
                       )
             ) MeineSpalte
FROM text__general_en t1
WHERE t1.id = 'foo'
;

und schon sind wir am ziel, mehr ist nicht zu tun.

Ilja