Zuordnungsproblem, bei Abfrage über zwei Tabellen
Moni
- datenbank
Ich habe zwei MYSQL Tabellen
in der einen stehen meine Adessen
table1
-------
id
name
strasse
in der zweiten stehen die manchmal zu der gleichen ID wie in table 1 andere adressen
jetzt möchte ich mir alle Datensätze aus der table1 anzeigen lassen, aber nur wenn in der table2 kein Datensatz zur gleichen id da ist.
Wenn ein Datensatz da ist funktioniert es so:
select
a.name
from
table1 a,
table2 b
WHERE a.id = b.id
dann werden mir alle namen angezeigt, zu der es in table2 weitere Informationen gibt, ich möchte aber nur die Namen haben, wenn es keine Informationen gibt.
Also habe ich einfach aus dem = ein != gemacht,
select
a.name
from
table1 a,
table2 b
WHERE a.id != b.id
doch dann bekomme alle Einträge aus der table1 und die die in table2 keine Zuordnung haben kommen doppelt die eine zuordnung haben kommen einfach.
Kann mir da jemand weiterhelfen?
Moni
Moin Moni,
Ich habe zwei MYSQL Tabellen
in der einen stehen meine Adessentable1
id
name
strassein der zweiten stehen die manchmal zu der gleichen ID wie in table 1 andere adressen
jetzt möchte ich mir alle Datensätze aus der table1 anzeigen lassen, aber nur wenn in der table2 kein Datensatz zur gleichen id da ist.
Dafür brauchst du einen expliziten JOIN
:
SELECT a.name
FROM table1 a
LEFT JOIN table2 b ON a.id = b.id
WHERE b.id IS NULL
Nähere Infos über JOIN
s findest du in einer Einführung zu SQL.
LG,
CK