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