jens65m: mysql abfrage / alternativen angeben

Beitrag lesen

Um nochmal genauer darauf einzugehen.

menu_item:
(id, menu_id, href, target)
 --

translate:
(id, type, cid, lang, text)
 --

Die Tabelle "menu_item" beinhaltet alle Links.
Die Labels der Links werden in der Tabelle "translate" gepspeichert.
Bsp.:

menu_item:
(1, 1, http://www.example.com, 0)

translate:
(1, menu_item, 1, de, Beispiel)
(2, menu_item, 1, en, Beispiel)

Verbunden sind die beiden Tabellen über (menu_item.id = translate.cid).

Ich möchte jetzt also Abfrage:

SELECT a.href, a.target, b.text  
FROM menu_item AS a  
INNER JOIN translate AS b  
ON a.id = b.cid  
WHERE (a.menu_id = '1')  
AND (b.type = 'menu_item')  
AND (PREFER b.lang = 'en' OR b.lang = 'de')

Wobei PREFER natürlich nicht funktioniert und nur dazu dient um mein Problem zu verstehen.

Heißt also, es sollen alle Menüpunkte abgefragt werden allerdings nur einmal! und dann soll versucht werden das Englische Label zu laden, ist dies nicht möglich soll das Deutsch verwendet werden. Auf biegen und brechen hab ich das nicht hinbekommen! Mit allen möglichen IF-Konstruktionen.
Kann mit bitte jemand helfen!
LG, Jens