Na, dann liegt es halt eben nicht _daran_. :(
Um dich dem Ziel zu nähern, empfehle ich: zerlege einfach deine jetzige Abfrage in einzelne Teilbereiche (Datensätze, die Bedingung 1 erfüllen, ~ für Bedingung 2 ... usw) und dann schau, was in diesen beiden Ergebnismengen gleich bzw. vergleichbar ist.
Und UNION Operatoren sind auch ganz praktisch im Zusammenspiel mit EXISTS um OR Verschachtelungen mit weiteren Unterabfragen zu vermeiden ... nur mal so als Wink mit nem Wattestäbchen.
BTW: zwischen 'richtig', 'gut' und 'funktioniert' liegen auch noch Welten.
Frank