![]() |
AW: Mehrere SQL Join-Anweisungen in einem Statement
Zitat:
OT on Die klassische Art ist meiner Meinung nach besser lesbar OT off Gruss KHH |
AW: Mehrere SQL Join-Anweisungen in einem Statement
Zitat:
@DeddyH Vielleicht heute, vor ein paar Jahren war das nicht so, darum bin ich immer noch "klassiker" Gruß K-H |
AW: Mehrere SQL Join-Anweisungen in einem Statement
Moin Moin
Hab grad die beiden Methoden nochmal getestet und bin auf folgendes Problem gestoßen. Wenn ich in dem SELECT * FROM table1, table2, usw... bestimmte Tabellen aus meiner DB in die FROM Angabe schreibe erhält meine Ergebnismenge jeden Datensatz immer mehrmals und ich habe keine Ahnung wie das zu stande kommt. Hier noch ma der Bsp-Code:
Code:
Ohne die t5 funktionierts einwandfrei, sobald ich diese hinzufüge nicht mehr (und das is mit einigen Spalten so)
SELECT * FROM AGF_KBU t1, AGF_PER t2, AGF_BUKR t3, AGF_KSTK t4, AGF_SAK t5
WHERE t1.KBU_Periode = t2.PER_Periode AND t1.KBU_Bukr_Nummer = t3.BUKR_Nummer Ist ADS da irgendwie beschränkt oder müssen die Properties der Tables gewissen Vorraussetzungen erfüllen? (Waren jetzt meine ersten Ideen) mfg |
AW: Mehrere SQL Join-Anweisungen in einem Statement
Du hast ja auch nicht definiert, wie die Tabelle 5 in Beziehung zu den anderen steht, somit erhältst Du das kartesische Produkt der Datensätze dieser Tabelle zu denen des JOINs.
|
AW: Mehrere SQL Join-Anweisungen in einem Statement
Hm ok aber das hab ich bei Tabelle 4 ja auch nicht getan und mit der gehts ganz normal, daher wunderts mich
|
AW: Mehrere SQL Join-Anweisungen in einem Statement
Vielleicht gibt es nur einen Datensatz in Tabelle 4?
|
AW: Mehrere SQL Join-Anweisungen in einem Statement
Nope, da sind einige drin.
Jetzt bekomm ich noch nen Invalid Operator Fehler bei meinem Code:
Code:
Ach ja wenn ich die JOIN-Syntax verwende funktioniert es besser als so^^
SELECT kbu_key, kbu_sts, sts_bezeichnung FROM AGF_KBU t1, AGF_PER t2, AGF_BUKR t3, AGF_STS t4
WHERE t1.KBU_Periode = t2.PER_Periode AND t1.KBU_Bukr_Nummer = t3.BUKR_Nummer AND t1.KBU_STS = t4.STS_Bezeichnung |
AW: Mehrere SQL Join-Anweisungen in einem Statement
Sind die Feldbezeichner eindeutig? Ansonsten schreib einmal den Alias davor (in der SELECT-Klausel).
|
AW: Mehrere SQL Join-Anweisungen in einem Statement
Hm ne daran liegts wohl auch ned, hm kp, ich werds nu mit der JOIN Syntax umsetzen da klappts wesentlich besser
|
AW: Mehrere SQL Join-Anweisungen in einem Statement
So hab das ganze nu auf JOIN-Syntax umgemünzt nur leider im Endeffekt das selbe Problem (war ja eigentlich auch zu erwarten)
Code:
selbst wenn ich alles mit Alias versehe ensteht durch die LETZTE ZEILE der Effekt das alle Datensätze 7 mal vorkommen...
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 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 by Thomas Breitkreuz