Hallo,
also wenn ich das richtig verstehe, brauchst du nur 2 Joins:
1. einen Cross-Join zwischen Tabelle A und Tabelle B => Damit bekommst du alle deine möglichen Verknüpfungspunkte.
2. davon ausgehend nun einen Left-Outer-Join auf die Tabelle C mit der Bedingung, das genau dieser Punkt schon in der Tabelle C vorhanden ist.
Left-Outer-Join deshalb, weil du mit einem Inner-Join ja alle Datensätze wieder rausfiltern würdest, bei denen der Join nicht aufgeht, sprich: wo noch keine Verknüpfung besteht.
Dann kannst du mittels decode (in Oracle-Sprache) oder case sehen, ob dort schon ein Punkt ist.
Also ca. so:
select tabA.id, tabB.id, case when tabC.id is not null then 'Verknüpfung vorhanden' else 'Keine Verknüpfung' end
from tabA
cross join tabB
left outer join tabC on tabC.tabA_id = tabA.id
and tabC.tabB_id = tabB.id
Für diese Lösung gebe ich aber keine Gewähr :-)
lG,
Gerhard