AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi LEFT OUTER JOIN mit NULL-Abfrage funktioniert nicht, warum?
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von Piro · begonnen am 22. Dez 2009 · letzter Beitrag vom 22. Dez 2009
Antwort Antwort
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, 12: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
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#2

Re: LEFT OUTER JOIN mit NULL-Abfrage funktioniert nicht, war

  Alt 22. Dez 2009, 12:38
Also ich kenne Abfragen auf NULL nur mit "is NULL"...
Keine Ahnung, ob das beim SQL Server 2005 dann schon anders möglich ist, bei 2000 gehts aber nur so
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

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

Re: LEFT OUTER JOIN mit NULL-Abfrage funktioniert nicht, war

  Alt 22. Dez 2009, 12:41
Oh man, es kann so einfach sein. Diese Variante hatte ich noch nicht.

Vielen Dank.
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#4

Re: LEFT OUTER JOIN mit NULL-Abfrage funktioniert nicht, war

  Alt 22. Dez 2009, 13:27
Zitat von daywalker299:
Oh man, es kann so einfach sein. Diese Variante hatte ich noch nicht.
Hehe, freut mich, dass ich auch mal bei ner Datenbankfrage helfen konnte
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz