Einzelnen Beitrag anzeigen

Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#1

LEFT OUTER JOIN mit NULL-Abfrage funktioniert nicht, warum?

  Alt 22. Dez 2009, 13:31
Datenbank: MS SQL Express • Version: 2005 • Zugriff über: ADO
Moin zusammen,

ich habe ein Problem mit einer SQL Abfrage. Folgende SQL Abfrage zeigt alles an, was ich brauche.
SQL-Code:
SELECT h.hsrpgroup as hsrp, h.site_id, s.hsrpgroup
FROM network_hsrpgroups AS h LEFT OUTER JOIN network_subnets AS s ON h.hsrpgroup = s.hsrpgroup
WHERE (h.site_id = 1)
Ergebnis:
SQL-Code:
1|1|NULL
2|1|2
3|1|3
4|1|NULL
5|1|5
6|1|NULL
7|1|NULL
8|1|8
9|1|9
Das Feld hsrpgroup (Typ: String) ist in beiden Tabellen, das entscheidene Feld. Wenn ich jetzt folgendes probiere,
SQL-Code:
SELECT h.hsrpgroup as hsrp, h.site_id, s.hsrpgroup
FROM network_hsrpgroups AS h LEFT OUTER JOIN network_subnets AS s ON h.hsrpgroup = s.hsrpgroup
WHERE (h.site_id = 1) and (s.hsrpgroup = 2)
bekomme ich folgendes Ergebnis:
2|1|2 So soll es ja auch sein. Wenn ich jetzt aber alle NULLs anzeigen lassen möchte, bekomme ich keine Ergebnisse obwohl ja NULL vorhanden ist.
SQL-Code:
SELECT h.hsrpgroup as hsrp, h.site_id, s.hsrpgroup
FROM network_hsrpgroups AS h LEFT OUTER JOIN network_subnets AS s ON h.hsrpgroup = s.hsrpgroup
WHERE (h.site_id = 1) and (s.hsrpgroup = NULL)
Funktioniert das überhaupt so? Was müsste ich ändern, damit es funktioniert. Ich brauche nur die Zeilen in denen s.hsrpgroup = NULL ist.

Gewünschtes Ergebnis:
SQL-Code:
1|1|NULL
4|1|NULL
6|1|NULL
7|1|NULL
Vielen Dank im voraus. Sven
  Mit Zitat antworten Zitat