AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Idee fehlt zum SELECT und JOIN
Thema durchsuchen
Ansicht
Themen-Optionen

Idee fehlt zum SELECT und JOIN

Offene Frage von "ibp"
Ein Thema von ibp · begonnen am 18. Mai 2007 · letzter Beitrag vom 18. Mai 2007
Antwort Antwort
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
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Idee fehlt zum SELECT und JOIN

  Alt 18. Mai 2007, 09:49
Die Bedingungen waren von Anfang an falschrum gestellt, versuchs mal so:
SQL-Code:
select diefelder
from baumtab
left outer join datentab1 on datentab1_pkey=baumtab_reckey
left outer join datentab2 on datentab2_pkey=baumtab_reckey
left outer join datentab3 on datentab3_pkey=baumtab_reckey
left outer join datentab1 on datentab3_datentab1=datentab1_pkey
...
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

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

Re: Idee fehlt zum SELECT und JOIN

  Alt 18. Mai 2007, 10:04
bringt nix, gleiches prob wie vorher, ist unerheblich ob ich die verkleichsfelder umstelle!
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Idee fehlt zum SELECT und JOIN

  Alt 18. Mai 2007, 10:06
Wenn man die gleiche Tabelle merhfach joint würde ich unbedingt Aliase verwenden.

SQL-Code:
select * from TabelleA
  join TabelleB B1 on FeldA = B1.FeldB
  join TabelleB B2 on FeldA = B2.FeldB
Die Reihenfolge der Felder beim join ist tatsächlich egal.
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

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

Re: Idee fehlt zum SELECT und JOIN

  Alt 18. Mai 2007, 10:12
das ist nicht das prob, es ist gesichert, dass die felder explizit zugeordnet werden können. die ergebnismenge ist das prob. durch den zweiten join auf die selbe tabelle, werden die daten vermischt!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Idee fehlt zum SELECT und JOIN

  Alt 18. Mai 2007, 10:15
Du mußt die 2. Auswahl per Union hinzufügen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

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

Re: Idee fehlt zum SELECT und JOIN

  Alt 18. Mai 2007, 10:51
wenn ich das mit union zusammenführe, dann muss ich die ganzen weiterbehandlungsmethoden umschreiben und es geht nicht, da bei union die felder vom gleichen datenyp sein müssen, was sie nicht sind, jede tabelle hat nicht wirklich die gleichen datentypen!

gibt es noch andere vorschläge?
  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 00:22 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