Einzelnen Beitrag anzeigen

Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#1

Idee fehlt zum SELECT und JOIN

  Alt 18. Mai 2007, 09:42
Datenbank: interbase • Version: 6.5 • Zugriff über: BDE
Hallo,

habe ein kleines Problem mit einer geänderten Struktur. Bisher habe ich mir mit folgender Query die daten geholt (schematische Darstellung).

SQL-Code:
select diefelder
from baumtab
left outer join datentab1 on (baumtab_reckey=datentab1_pkey)
left outer join datentab2 on (baumtab_reckey=datentab2_pkey)
left outer join datentab3 on (baumtab_reckey=datentab3_pkey)
/* hier können je nachdem noch weitere kommen */
where ((baumtab_parkey=123) and ((baumtab_typkey=3) or (itre_typkey=4) or (itre_typkey=5) ))
order by baumtab_sortfld,baumtab_pkey
so nun gibt es eine gänderte situation. es existiert in der datentab3 ein lookup-feld auf irgendeinen datensatz der datentab1.
wenn ich nun das folgende darauf loslasse, dann bekomme ich ein prob, weil die ergebnismenge sich dann in den entsprechenden zeilen mischt oder nil ist.
ist aber die zusätzliche definition 'left outer join datentab1 on (baumtab_reckey=datentab1_pkey)' nicht vorhanden, funzt es mit dem lookup!

SQL-Code:
select diefelder
from baumtab
left outer join datentab1 on (baumtab_reckey=datentab1_pkey)
left outer join datentab2 on (baumtab_reckey=datentab2_pkey)
left outer join datentab3 on (baumtab_reckey=datentab3_pkey)
left outer join datentab1 on ((datentab1_pkey=datentab3_datentab1)) /* hier ist das prob! */

/* hier können je nachdem noch weitere kommen */

where ((baumtab_parkey=123) and ((baumtab_typkey=3) or (baumtab_typkey=4) or (baumtab_typkey=5) ))
order by baumtab_sortfld,baumtab_pkey
wie kann man das umschreiben, dass für die definition der zeile "left outer join datentab1 on ((datentab1_pkey=datentab3_datentab1))" entsprechedn die ganze Tabelle datentab1 durchsucht wird!

steh da gerade voll auf dem schlauch!

danke schn mal und hoffe es ist klar was ich meine, ansonsten fragen...
  Mit Zitat antworten Zitat