Thema: Delphi SQL-Problem mal wieder

Einzelnen Beitrag anzeigen

alex517

Registriert seit: 23. Nov 2004
Ort: Bernau b. Berlin
273 Beiträge
 
Delphi XE5 Enterprise
 
#11

Re: SQL-Problem mal wieder

  Alt 19. Mai 2009, 13:53
Hallo Heiko,

wenn du mal bei der Abfrage die Bedingung
and ((tree2contact.contact_id=25) or (tree2contact.contact_id is Null)) weglässt, bekommst du folgendes Ergebnis:

Code:
NAME     ID   CONTACT_ID
---------------------------
Banken   9     <NULL>
Behörden 8     22
Kunden   6     22
Kunden   6     25
wenn du jetzt die obige Bedingung wieder in der Where-Clausel hinzufügst,
werden nur noch die "Kunden" mit CONTACT_ID=22 und die "Behörden" mit CONTACT_ID=22 weggefiltert.

"Behörden" mit CONTACT_ID=NULL gibt es in der Left-Join-Ergebnismenge gar nicht,
da durch das "left join" ein Satz "Behörden" mit CONTACT_ID=22 in der Left-Join-Ergebnismenge existiert.

Man muß also bereits vor den "zusammenjoinen" alle
tree2contact-Datensätze herausfiltern die man nicht braucht.
Damit wird für den Datensatz Tree.ID=8 ('Behörden') kein passender
Datensatz in tree2contact gefunden und CONTACT_ID bleibt=NULL

Ich hoffe das ist einigermaßen verständlich ausgedrückt.

alex

Edit: Wo bleibt eigentlich mein "Delphi-Tage 2009 ich bin dabei" ?
Alexander
  Mit Zitat antworten Zitat