Andy: Entweder das eine, oder wenn das nicht, das andere...

Beitrag lesen

Hallo!

ich vermute mal, du willst immer nur einen datensatz für eine content_id haben, weswegen auch der 4 datensatz bei lang = de ausgeschlossen wird.

Yup, genau!

SELECT m.title, m.content_id

FROM menu m
WHERE m.lang = "de"
OR m.lang IS NULL AND m.content_id NOT IN
  (SELECT m2.content_id FROM menu m2 WHERE m2.lang = "de")
ORDER BY m.pos

Jawohl, ein Subselect! Hätte ich programmiertechisch ja auch nicht anders gelöst. Funktioniert so einwandfrei!  
  
Vielen Dank,  
Andy