[Erledigt] frage zu select statement ich möchte eine anwendung schreiben, die mehrsprachig ist. die texte in den verschiedenen sprachen möchte ich in 3 tabellen unterbringen. zudem habe ich eine testtabelle.
tabelle für sprachen: Name:
sprache Spalten:
id (fortlaufend, key)
sprache (deutsch, englisch etc)
tabelle für labels: name:
test_label spalte:
id (fortlaufend, key)
tabelle für übersetzungen: name:
test_uebersetzung spalten:
id (fortlaufend, key)
id_label (aus tabelle labels/ mit id_sprache zusammen secondary key)
id_sprache (aus tabelle sprachen)
text (text in der jeweiligen sprache)
tabelle zum testen: name:
test_mehrsprachigkeit spalten:
id (fortlaufend, key)
id_label (id aus der tabelle labels)
test (einfach nur zum testen)
ich möchte einen select auf die tabelle test_mehrsprachigkeit machen und auf eine id einschränken. zu dem datensatz möchte ich dann zu einer bestimmten sprache den übersetzungsstext haben. mein problem bei der sache ist, dass das die spalte id_label in der tabelle test_mehrsprachigkeit auch NULL sein kann. aber ich möchte trotzdem dann die zeile aus der tabelle test_mehrsprachigkeit haben und als übersetzung dann null. folgendes statement hatte ich mir zusammengebastelt, es funktioniert nur, wenn eine übersetzung vorhanden ist und liefert sonst kein ergebnis:
SELECT tm.test AS test, tu.text AS uebersetzung
FROM test_mehrsprachigkeit tm
LEFT OUTER JOIN test_uebersetzung tu ON tm.id_label = tu.id_label
WHERE tm.id =3 AND tu.id_sprache = 0
lasse ich den die einschränkung tu.id_sprache = 0 weg bekomme ich natürlich ein ergebnis, dann aber in allen sprachen und das möchte ich nicht
ich hoffe ihr könnt mir helfen
blackbird |