right join - datensatz anzeigen der nicht an anderer tabelle ist

Shooter2k

Erfahrenes Mitglied
Hallo Tutorials,
ich habe ein Problem mit meinen selbstgebauten Newsletter auf MySQL basis.

Es geht um 2 Tabellen einmal:

hs_verteiler_msg
-------------------------
id
betreff
nachricht
....
hs_verteiler_msg_sel
-------------------------------
verteiler_id
group_id
zeit

....

Bekomme die Abfrage nicht hin.
Es sollen alle Datensätze von hs_verteiler_msg angezeigt werden dessen id nicht in der tabelle hs_verteiler_msg_sel (verteiler_id ) ist.

Meine bisherige Abfrage sah so aus :
SELECT * FROM hs_verteiler_msg_sel right join hs_verteiler_msg on hs_verteiler_msg_sel.verteiler_id = hs_verteiler_msg.id WHERE hs_verteiler_msg_sel.verteiler_id > 0

Ab der WHERE Bedingung muss irgendwas falsch sein.
Kann mir jemand helfen ?

Danke
Henry
 
Hallo,

SELECT * FROM hs_verteiler_msg_sel
RIGHT JOIN hs_verteiler_msg ON hs_verteiler_msg_sel.verteiler_id = hs_verteiler_msg.id
WHERE hs_verteiler_msg_sel.verteiler_id IS NULL

Warst nah dran :).

cu Robert
 
Du könntest auch einen Left Outer Join daraus machen:
Code:
SELECT
        *
  FROM
        hs_verteiler_msg
  LEFT OUTER JOIN
        hs_verteiler_msg_sel ON hs_verteiler_msg.id = hs_verteiler_msg_sel.verteiler_id
  WHERE
        hs_verteiler_msg_sel.verteiler_id IS NULL
 
Zurück