HILFE! SQL für 3 Tabs mit M:N Bez.!

hallo,

ich habe ein problem ich habe 3 Tabellen (Paradox7.0) die zueinander eine m:n Beziehung haben, d.h. in Tab. 2 stehen die ID der Tab 1 und der Tab 3 zugeordnet zu einander, also „in der Tab 2 steht gerätid (1) ist der Personid(150) zu geordnet, in der Tab 2 steht ebenfalls gerätid(1) ist der Personid (20) zugeordnet.“ puh!
Mein problem: ich möchte gerne alle datensätzen sehen deren Gerätid auch einer Personenid zugeordnet ist samt des Namen der Person aus Tab 3 und ich möchte alle Datensätze sehen, die garkeiner Person zugeordnet sind!"
im Augenblick bekomme ich zwar alle datensätze die einer person zu geordnet sind , aber sobald das gerät einer weiteren person zugeordnet ist, fehlt das. und mir fehlen die geräte die keiner person zu geordnet sind.

meine sql:
select gerät.*, zuord.*,pers.* from gerät left outer join (gerät.id = zuord.id) and (pers.kid = zuord.kid)

danke!

hallo,
ich möchte gerne alle
datensätzen sehen deren Gerätid auch
einer Personenid zugeordnet ist samt des
Namen der Person aus Tab 3

  1. Aufgabe:

SELECT gerät.name, pers.name
FROM (gerät RIGHT JOIN zuord ON gerät.id = zuord.id) LEFT JOIN pers ON zuord.kid = pers.kid;

und ich möchte
alle Datensätze sehen, die garkeiner
Person zugeordnet sind!"

  1. Aufgabe:
    SELECT gerät.text, Null AS Person
    FROM gerät LEFT JOIN zuord ON gerät.id = zuord.id
    WHERE zuord.id Is Null;
    (Die zweite Spalte, Person, wird gleich verwendet: Union verlangt gleiche Anzahl Spalten):

  2. Aufgabe= Alles zusammen
    select * from q_1 union select * from q_2;

HTH
Gruß
J.

Das etwas kürzere Statement:

SELECT person.ps\_name, geraet.gr\_name FROM
 (geraet LEFT JOIN gr\_ps ON geraet.gr\_id=gr\_ps.gr\_id)
 LEFT JOIN person ON person.ps\_id=gr\_ps.ps\_id

Sollte eigentlich das ganze auch ohne UNION zurückbringen (wenn ich das nicht falsch verstanden habe, dann für jede Zuordnung einen Datensatz und für die Geräte die nicht zugeordnet sind wiederum auch einen Datensatz).

Ist im Prinzip dasselbe wie dein erstes Statement, nur wenn du statt dem RIGHT einen LEFT JOIN machst, dann nimmt er von den Geräten alle, egal ob bei der Zuordungstabelle Datensätze da sind.

Grüße, Robert