2017-05-11 3 views
1

Ich habe eine Tabelle, in der Spalte 'AssignedRecruiter' numerische Werte (Id) hat. Und es kann auch Nullwerte haben.Wie Null-Wert in Join?

Die in dieser Spalte gespeicherte ID ist auch in der Employee-Tabelle vorhanden, die aus den Namen der Mitarbeiter besteht. Bei der Ausführung von Join zwischen zwei Tabellen, die auf Table1.AssignedRecruiter = Employee.Id basieren, erhalte ich alle Werte aus der Tabelle Employee-Tabelle mit der ID von 'AssignedRecruiter'.

Allerdings möchte ich auch alle Null-Werte haben. Ich habe versucht Linke Join für die Auswahl aller Wert von Tabelle1, aber es funktioniert nicht.

+3

Könnten Sie einfügen, was Sie versucht haben, das nicht funktioniert hat? Ein 'LINKER JOIN 'auf Mitarbeiter _should_ funktioniert für das, was Sie wollen. – ZLK

Antwort

1

Verwenden Sie eine LEFT JOIN, es fügt alle Datensätze aus Tabelle1 zu Ihrer Ergebnismenge hinzu.

SELECT * 
FROM table1 t 
LEFT JOIN Employee e ON t.AssignedRecruiter = e.Id 
0

können Sie mit Standardwert verwenden isnull und zur Verwendung kommt gelassen, so rechte Tabelle beitreten werden Daten haben auch unausgefüllt nicht hat.

isnull(Table1.AssignedRecruiter ,0) = isnull(Employee.Id , 0)