Andreas Görtz: MySQL-Befehl funktioniert nicht

Beitrag lesen

Hi,

Ich will alle Regionen (aus regions) auswählen, die in der Tabelle rel keine Entsprechung haben. Geht aber nicht!

das würde ich folgendermaßen angehen:

SELECT
   id,name
FROM
   regions
LEFT  JOIN
   rel
ON
   (regions.id=rel.regionId)
WHERE
   rel.regionId IS NULL

Zur Erklärung: wenn du diesen Befehl mal ohne den WHERE-Teil ausführst und zusätzlich noch rel.regionId in das SELECT schreibst, siehst du, dass _alle_ Datensätze aus der Tabelle regions ausgewählt werden (LEFT JOIN) und ihnen im Falle einer Entsprechung in rel die ID aus rel zugeordnet wird. Gibt es diese Entsprechung nicht, wird rel.regionId mit NULL aufgefüllt, was dann nur noch abzufragen ist.

Gruß,
Andreas.