MySQL Abfrage auf -nicht vorhanden-
LullaBy
- datenbank
1 Rouven0 Vinzenz Mai0 Ilja0 Vinzenz Mai0 Ilja
Hallo Forum,
ich habe 2 Tabellen in einer MySQL-DB. Einmal Anschriften und einmal Ansprechpartner. Nun möchte ich die Liste der Ansprechpartner haben, die keine Anschrift in der Anschriften-Tabelle haben. In beiden Tabellen befindet sich das Feld "Kundennummer". Ich weiß jetzt nur nicht, wie die Abfrage aussieht?
SELECT ap.* FROM ansprechpartner.ap, anschriften as
WHERE ap.kundennummer = as.kundennummer
(geht ja schon nicht, weil ich davon ausgehe, dass es keine as.kundennummer gibt, die zu ap.kundennummer passt...)
müsste also sowas sein wie
WHERE ap.kundennummer NOT IN as.kundennummer
oder so.
Gibt es da einen Weg?
Vielen Dank für Lesen und Antworten,
LullaBy
Hi,
müsste also sowas sein wie
WHERE ap.kundennummer NOT IN as.kundennummer
oder so.
ja ja, ziemlich genau sowas, du musst IN nur beibringen was seine Ergebnismenge zum Vergleich ist
SELECT *
FROM ansprechpartner
WHERE kundennummer NOT IN (SELECT kundennummer FROM anschriften)
MfG
Rouven
Hallo,
nur zur Ergänzung:
SELECT *
FROM ansprechpartner
WHERE kundennummer NOT IN (SELECT kundennummer FROM anschriften)
Subselects werden ab MySQL 4.1 unterstützt.
<hinweis type="gebetsmühle">
Deswegen ist es bei Fragen zu MySQL immer eine gute Idee, die verwendete Version anzugeben. LullaBy, welche Version verwendest Du?
</hinweis>
Bei einer älteren Version läßt sich das ganze mit einem INNER JOIN und einer Prüfung auf IS NULL erreichen:
SELECT
ap.* -- werden wirklich _alle_ Spalten benötigt?
FROM ansprechpartner ap
INNER JOIN anschriften as
ON ap.kundennummer = as.kundennummer
WHERE as.kundennummer IS NULL
Freundliche Grüße
Vinzenz
yo,
Bei einer älteren Version läßt sich das ganze mit einem INNER JOIN und einer Prüfung auf IS NULL erreichen:
du meinst sicherlich einen OUTER JOIN....
Ilja
Hallo Ilja,
Bei einer älteren Version läßt sich das ganze mit einem INNER JOIN und einer Prüfung auf IS NULL erreichen:
du meinst sicherlich einen OUTER JOIN....
*rot werd* selbstverständlich. Ich bin müde, ich bin unkonzentriert, ich sollte mal Urlaub machen ...
Beschämte Grüße
Vinzenz
yo,
*rot werd* selbstverständlich. Ich bin müde, ich bin unkonzentriert, ich sollte mal Urlaub machen ...
oder den programmierer klassiker, zigaretten und viel kaffee (in meinen fall ein leckeres bier). lass das mal mit dem rot werden, war zumindestens mir schon klar, dass du dich nur verschrieben hast. und wenn nicht, haben wir da noch zwei gute links was Joins betrifft, die ich dir empfehlen kann....
Ilja