AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Mehrere SQL Join-Anweisungen in einem Statement
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere SQL Join-Anweisungen in einem Statement

Ein Thema von Ascuriah · begonnen am 21. Okt 2010 · letzter Beitrag vom 25. Okt 2010
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#1

AW: Mehrere SQL Join-Anweisungen in einem Statement

  Alt 25. Okt 2010, 09:18
Sind die Feldbezeichner eindeutig? Ansonsten schreib einmal den Alias davor (in der SELECT-Klausel).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Ascuriah

Registriert seit: 6. Okt 2010
52 Beiträge
 
#2

AW: Mehrere SQL Join-Anweisungen in einem Statement

  Alt 25. Okt 2010, 09:34
Hm ne daran liegts wohl auch ned, hm kp, ich werds nu mit der JOIN Syntax umsetzen da klappts wesentlich besser
  Mit Zitat antworten Zitat
Ascuriah

Registriert seit: 6. Okt 2010
52 Beiträge
 
#3

AW: Mehrere SQL Join-Anweisungen in einem Statement

  Alt 25. Okt 2010, 09:47
So hab das ganze nu auf JOIN-Syntax umgemünzt nur leider im Endeffekt das selbe Problem (war ja eigentlich auch zu erwarten)

Code:
SELECT t1.kbu_key, t2.per_zeitraum, t3.bukr_bez, t4.sts_bezeichnung, t5.sak_kbez, t6.kst_kbez, t7.bis_langtext FROM AGF_KBU t1 
                    LEFT JOIN AGF_PER t2  ON t1.KBU_Periode = t2.PER_Periode
                 LEFT JOIN AGF_BUKR t3 ON t1.KBU_Bukr_Nummer = t3.BUKR_Nummer
                 LEFT JOIN AGF_STS t4  ON t1.KBU_Sts = t4.STS_Schluessel
                 LEFT JOIN AGF_SAK t5  ON t1.KBU_Konto = t5.SAK_Konto
                 LEFT JOIN AGF_KSTK t6 ON t1.KBU_Kost1 = t6.KST_Kostenstelle
                 LEFT JOIN AGFA_BIS t7 ON t5.SAK_iBilanzrelevant = t7.BIS_Zeile
selbst wenn ich alles mit Alias versehe ensteht durch die LETZTE ZEILE der Effekt das alle Datensätze 7 mal vorkommen...
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Mehrere SQL Join-Anweisungen in einem Statement

  Alt 25. Okt 2010, 09:51
Das sieht danach aus als gäbe es in T7 7 (zu dieser Einschränkung passende) Datensätze zu jedem T5 Datensatz.

D.h. ggf. solltest du den letzten JOIN etwas weiter einschränken.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Ascuriah

Registriert seit: 6. Okt 2010
52 Beiträge
 
#5

AW: Mehrere SQL Join-Anweisungen in einem Statement

  Alt 25. Okt 2010, 09:59
Hm hab alle JOIN-Varianten ausprobiert, keine Änderung. Ich dachte mir es hängt vielleicht damit zusammen das ich FROM AGF_KBU oben mache und unten im letzten JOIN mich aber nicht mehr auf die AGF_KBU Tabelle beziehe in der ON Anweisung. Kann das damit zusammenhängen das dadurch die BEziehung nicht ganz korrekt ist?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#6

AW: Mehrere SQL Join-Anweisungen in einem Statement

  Alt 25. Okt 2010, 10:11
Was sollen wir Dir denn sagen, wenn wir die Tabellenstruktur nicht kennen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Mehrere SQL Join-Anweisungen in einem Statement

  Alt 25. Okt 2010, 13:11
Hm hab alle JOIN-Varianten ausprobiert, keine Änderung. Ich dachte mir es hängt vielleicht damit zusammen das ich FROM AGF_KBU oben mache und unten im letzten JOIN mich aber nicht mehr auf die AGF_KBU Tabelle beziehe in der ON Anweisung. Kann das damit zusammenhängen das dadurch die BEziehung nicht ganz korrekt ist?
Entschuldige, das sieht mir wie ein herumgestochere im Nebel aus. So wie in Deinen Beispielen mal 5 und mal 7 Tabellen auftauchen, und mal Ansi und mal "klassische" Joins verwendet werden, sieht mir das sehr unstrukturiert aus. Jede der Tabellen, die Du verwendest, sollte eigentlich einem Zweck dienen. Informationen zu einem (Fremd)Schlüssel speichern. Und wenn es möglich ist, daß zu einem (Fremd)Schlüssel mehrere Informationen vorliegen, dann können auch mehrere Ausgabesätze generiert werden.

Da es sich bei Deinem Beispiel im weitesten Sinne um Buchhaltungsdaten handelt könnten z.B. zu einer Rechnungsnummer mehrere Buchungsdatensätze - für jeden Rechnungsposten einer - vorhanden sein.

Geh doch bitte einmal in Dich und versuch Dein Problem noch einmal genau zu schildern. Du mußt ja nicht die Orginal-Feldbezeichner verwenden.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Ascuriah

Registriert seit: 6. Okt 2010
52 Beiträge
 
#8

AW: Mehrere SQL Join-Anweisungen in einem Statement

  Alt 25. Okt 2010, 15:29
Ja ich weis das war sehr schwammig formuliert, da war ich wohl sehr im Stress sry...

Mittlerweile habe ich das Problem auch schon gelöst, aber das Problem an der Sache war das die Tabellen aus dehnen ich meine Datensätze bekomme, alle ADS Freetables sind und diesen können keinerlei Fremdschlüssel, Beziehungen oder Referentielle Integritäten zwischen Tabellen zugewiesen werden.

Somit existieren hierbei Tabellen die komplett unabhängig von einander sind, was es mir nicht ermöglicht hat eine funktionierende Filterbedingung in meine SELECT-Anweisung einzubauen.

Ich hoffe das Problem ist so ein wenig klarer geschildert.

Gelöst hab ich das Problem durch das Einsetzen mehrerer SQL-Querys die durch einen, dafür programmierten, SQL-Statement-Builder zusammengefügt werden und dann ein eigenes SQL-Statement gebaut wird welches die gewünschte Zielfunktion perfekt ausführt
  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 09:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz