schildi: mySQL Joins

Beitrag lesen

Hallo liebe Forumsgemeinde,

folgendes Problem mit einem Join über zwei Tabellen:

Tabelle nt_schulen in der Schuldaten hinterlegt sind, Tabelle members in der Daten von Lehren hinterlegt sind, Name etc. beide Tabellen haben ein Feld schul_nr.

Jetzt möchte ich alle Schulen finden denen noch kein Lehrer mit einer besonderen Funktion an der Schule ( Feld:besonderefunktion) zugeordnet sind.

Mein Query sieht so aus:
SELECT nt_schulen.schulnr FROM nt_schulen LEFT JOIN members ON nt_schulen.schulnr != members.schulnr WHERE members.besonderefunktion = 'Ja'

bei diesem Query erhalte ich aber ein sehr viel größeres Resultat alsdas es Schulen (6702) geben würde.

Ändere ich allerdings nt_schulen.schulnr = members.schulnr gibt es als Resultat die 181 Schulen bzw. Schulnummern zurück denen ein Lehrer mit besondere Funktion an der Schule zugeordnet ist.

Warum erhalte ich bei != nicht das richtige Ergebniss, es sollte mir nach meiner Logik doch alle Schulen liefern die noch keinen Lehrer zugeordnet haben, wenn = mir alle Schulen liefert an denen Lehrer zugeordnet sind.

Ich denke ich habe da nen dicken Knoten im Kopf, wäre schön wenn mir da jemand beim lösen helfen könnte.

Gruß Jan