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