johanoa: Datenbank - multilanguage - fallback

Beitrag lesen

Hallo,

vielen Dank für eure Antworten.

Also ich habe jetzt die multilanguage tabelle zweimal leftgejoint gegen die produkttabelle:

SELECT COALESCE(ml.text, mll.text, 'fallback')
FROM produkte AS p
LEFT JOIN multilanguage AS ml
ON p.name = ml.id
AND p.produkt_id = produkt_id
AND ml.language = wunschsprache
LEFT JOIN multilanguage AS mll
ON p.name = ml.id
AND p.produkt_id = produkt_id
AND mll.language = fallbacksprache

Hier erhielt ich jedoch wegen des Left-Joins und bei nicht definierten Spalte im Ergebnis NULL-rows, also habe ich noch GROUP BY p.name hinzugefügt. Kann ich hierbei davon ausgehen, dass die Ergebnisse immer so gruppiert werden, dass ich entweder die wunschsprache oder die fallbacksprache im Ergebnis habe? Hoffe das war verständlich?

Des weitere würde ich gerne bei der Abfrage noch einen weiteren Wert abfragen, der mir praktisch Auskunft gibt, welcher der COALESCE-Werte genommen wurde. Also wenn ml.text genommen wurde, also nicht NULL war, soll dieser Wert 1 sein, wurde mll.text genommen soll 2 etc.
Wie kann ich soetwas realisieren?

Gruß