NOT IN Subquery - Ich stehe gerade etwas auf dem Schlauch

port29

deus.Server
Hallo Leute,

ich stehe gerade etwas auf dem Schlauch und brauche Hilfe bei einem Query. In einer Datenbank habe ich zwei Tabellen. Die eine heißt kfz_typen, die andere kfz_temp2. Ich suche nun alle Datensätze aus der kfz_temp2 Tabellen, deren Ktyp (integer) nicht in der kfz_typen Tabelle enthalten ist.

Ich bin der Meinung, dass dieses Query richtig ist. Aber ich bekomme immer ein leeres Result zurück.
Code:
 select * from kfz_temp2 where kfz_temp2.KType NOT IN (select distinct kfz_typen.ktyp from kfz_typen)

Lasse ich jetzt das NOT weg, dann werden mir tatsächlich Datensätze aufgelistet, die in beiden Tabellen enthalten sind.

Kann mir jemand kurz sagen, wo jetzt dort mein Fehler ist?

LG!
 
Lasse dir doch mal zur Kontrolle die Ergebnisse dieses Query anzeigen und vergleiche manuell:
SQL:
SELECT DISTINCT kfz_typen.ktyp FROM kfz_typen
 
Ich würde es eher mit einem join lösen und abfragen ob die fremdschlüssel nicht existieren:

SQL:
select kfz_temp2.* 
from kfz_temp2 
LEFT JOIN kfz_typen ON kfz_typen.ktyp = kfz_temp2.KType
where kfz_typen.ktyp IS NULL
 
Zuletzt bearbeitet von einem Moderator:
Zurück