Unterschied zwischen 2 Tabellen ("Fehlende Datensätze" finden)
asmodin
- datenbank
Hallo,
ich habe eine MSSQL-Datenbank und darin zwei Tabellen.
Beide Tabellen haben unterschiedliche Felder, enthalten aber eine ein gemeinsames Feld "ab_nummer".
Tabelle 1 stellt eine vollständige Liste aller vorhanden AB-Nummern dar, Tabelle 2 enthält optionale Zusatzinformationen. Sprich es sind nicht alle befüllt.
Ich möchte nun rausfinden, welche der AB-Nummern in Tabelle 1 keine optionale Information in Tabelle 2 hat (sprich dort keine Datensatz besitzt).
Gesucht habe ich bereits, allerdings bin ich mit den JOINs total vewirrt: INNER JOIN, OUTER JOIN, LEFT JOIN, RIGHT JOIN - was ist da jetzt das Richtige in meinem Fall?
Hallo,
Ich möchte nun rausfinden, welche der AB-Nummern in Tabelle 1 keine optionale Information in Tabelle 2 hat (sprich dort keine Datensatz besitzt).
Gesucht habe ich bereits, allerdings bin ich mit den JOINs total vewirrt: INNER JOIN, OUTER JOIN, LEFT JOIN, RIGHT JOIN - was ist da jetzt das Richtige in meinem Fall?
entweder ein OUTER JOIN, entweder als LEFT oder RIGHT JOIN mit einer Überprüfung mit IS NULL oder ein Subselect.
Mehr zu Joins findest Du in unseren Join-Artikeln:
- Einführung in Joins
- Fortgeschrittene Jointechniken
Freundliche Grüße
Vinzenz
entweder ein OUTER JOIN, entweder als LEFT oder RIGHT JOIN mit einer Überprüfung mit IS NULL oder ein Subselect.
- Einführung in Joins
Der Artikel hier hat geholfen, ich hab's jetzt so gemacht:
SELECT DISTINCT tabelle1.ab_nummer
FROM tabelle1
LEFT OUTER JOIN tabelle2 ON tabelle1.ab_nummer = tabelle2.ab_nummer
WHERE (tabelle2.ab_nummer IS NULL)
Vielen Dank!