Hello,
davon abgesehen, dass deine Datenstruktur, vielleicht auch nur auf Grund der redundanten Spaltennamen mit Nummern, mir dubios erscheint, mach es dir nicht so schwer und versuch den Left Join. Nimm stattdessen ein IN.
(1) Selektiere dir alle Objekte
SELECT standort, objekt_1, objekt_2, objekt_3, typ, bemerkung
FROM position
(2.0) Selektiere alle Objekte in vorderer Position
SELECT von_1, von_2, von_3 FROM verbindungen
(2.1) Selektiere alle Objekte in hinterer Position
SELECT nach_1, nach_2, nach_3 FROM verbindungen
(3) Finde alle Objekte, die nicht in den Positionen stecken*
SELECT standort, objekt_1, objekt_2, objekt_3, typ, bemerkung
FROM position p
WHERE
NOT EXISTS (SELECT von_1, von_2, von_3 FROM verbindungen von WHERE von.von_1 = p.objekt_1 AND von.von_2 = p.objekt_2 AND von.von_3 = p.objekt_3)
AND
NOT EXISTS (SELECT nach_1, nach_2, nach_3 FROM verbindungen nach WHERE nach.nach_1 = p.objekt_1 AND nach.nach_2 = p.objekt_2 AND nach.nach_3 = p.objekt_3)
* hier findet man alternativ auch noch ne Lösung für UNION, aber ich bin gerade zu faul nachzuschauen wie ich die KLammerung für die korrelierte Unterabfrage setzen müsste...
MfG
Rouven
-------------------
sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
Because good guys need a break every once in a while. -- Morty in "Click" (Columbia Pictures, 2006)