![]() |
Re: Paradox DB: YEAR-Funktion geht nicht
ja, ich mein, wenn ich die Text-Variable mit meinem "SubSelect" befüllt habe, dann muss ich ja die Add-Funktion aufrufen, und dort mein Hautp-Sql-Statement mit dem Outer Join aufrufen, oder?
Also den hier:
Code:
...nur was kommt an die Stelle mit den Fragezeichen (????) ?
DataModule1->Q2_SQL->SQL->Add("
SELECT ks.Jahr, MAX(ks.Stichtag) AS Stichtag, SUM(ks.Umsatz) AS Umsatz FROM Konten k LEFT JOIN ????? ks ON k.LftNr = ks.LftNr_Konto WHERE k.Kunden_Nr = :kunden_nr AND ks.stichtag < :stichtag GROUP BY jahr ORDER BY jahr") Gruss, chullain |
Re: Paradox DB: YEAR-Funktion geht nicht
Wie stehen diese beiden Abfragen im Verhältnis?
|
Re: Paradox DB: YEAR-Funktion geht nicht
Hallo ihr zwei beiden,
ihr entfernt euch immer weiter von der Lösung des Problems, welche ich in Beitrag #4 beschrieben habe - das Schlüsselwort ist BDE-View. Local-SQL kennt keine Views wie Standard-SQL, aber durch den Trick mit dem Speichern eines SELECT-Statements in einer SQL-Datei und die Einbindung dieser SQL-Datei als Tabellenreferenz werden Views "möglich". Mich würde interessieren, welcher Fehler genau gemeldet wird. Es muss sich auf jeden Fall um einen Laufzeitfehler handeln und ich vermute, dass die SQL-Datei KSVIEW.SQL nicht an der erwarteten Stelle steht. Freundliche Grüße vom marabu |
Re: Paradox DB: YEAR-Funktion geht nicht
Hallo,
also wenn ich diesen SQL-Statement absetzte:
SQL-Code:
Dann in der Form:
SELECT ks.Jahr, MAX(ks.Stichtag) AS Stichtag, SUM(ks.Umsatz) AS Umsatz
FROM Konten k LEFT JOIN "ksview.sql" ks ON k.LftNr = ks.LftNr_Konto WHERE k.Kunden_Nr = :kunden_nr AND ks.stichtag < :stichtag GROUP BY jahr ORDER BY jahr
Code:
dann bekomme ich schon mal die Fehlermeldung: ...Function call missing ) , klar, weil ich mit den Hochkommata das Select-Statement zumache und dann erwartet der Compiler, das Schliessen der Funktion Add mit der Klammer )
DataModule1->Q2_SQL->SQL->Add("Select..."ksview.sql"...");
Meine Frage, ist wie kann ich diess Datei einbinden, so wahrscheinlich ist es total verkehrt... Gruss, chullain |
Re: Paradox DB: YEAR-Funktion geht nicht
Hi Chullain. :hi:
Zitat:
So geht's hoffentlich:
Code:
(man beachte den dezenten Backslash ;-) )
DataModule1->Q2_SQL->SQL->Add("Select...\"ksview.sql\"...");
Gruß, Waldteufel |
Re: Paradox DB: YEAR-Funktion geht nicht
ok, vielen Dank erstmal, die Lösung kann manchmal so einfach sein, jetzt kriege ich aber die Fehlermeldung dass ...Expressions in group by are not supported...
Obwohl ich wie beschrieben, die SQL Statements aufgebaut habe:
SQL-Code:
/* ksview.sql */
SELECT LftNr_Konto, Stichtag, Umsatz, EXTRACT(YEAR FROM Stichtag) as Jahr FROM Konto_Stand SQL-Code: markieren
SQL-Code:
Die Datei ist auf jeden Fall im richtigen Ordner
SELECT ks.Jahr, MAX(ks.Stichtag) AS Stichtag, SUM(ks.Umsatz) AS Umsatz
FROM Konten k LEFT JOIN "ksview.sql" ks ON k.LftNr = ks.LftNr_Konto WHERE k.Kunden_Nr = :kunden_nr AND ks.stichtag < :stichtag GROUP BY Jahr Gruss, chullain |
Re: Paradox DB: YEAR-Funktion geht nicht
Bitte prüfe die Korrektheit des SQL-Codes zuerst außerhalb deines Programms. Du kannst dazu den Database-Desktop von Borland verwenden oder jedes andere BDE-kompatible Werkzeug. Wenn ich mich recht erinnere, so hatte ich den SQL-Code bei mir getestet. Bei Fehlern innerhalb deines eigenen Programms kann ich dir nicht so gut helfen.
marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 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