Hallo alle ...
Wer hilft beim Brille putzen ? Ich will eine Ergebnismenge nochmal nach 2 Kriterien sortieren.
SQL sinngemäß:
Delphi-Quellcode:
select * from (
.
komplexes
SQL mit UNION funtioniert seperat ohne Sortierung
.
) order by Spalte1, Spalte2 desc
Sollte eigentlich simpel sein. Aber Fehler:
Zitat:
---------------------------
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt dBK.exe ist eine
Exception der Klasse EIBCError mit der Meldung '
Dynamic
SQL Error
SQL error code = -104
Token unknown - line 6, column 31
desc' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
diverse Tutorials sagen dazu:
Zitat:
ORDER BY "Spalten_Name1" [ASC, DESC], "Spalten_Name2" [ASC, DESC]
Danke...
Nachtrag:
Der Knackpunkt muß wo anders liegen. Wenn ich Spalte2 desc weglasse bekomme ich einen anderen Fehler.
Mal der Quelltext:
Delphi-Quellcode:
QueryPayments.SQL.Text:= 'select * from (';
QueryPayments.SQL.Add('select PAYMENT_DATE, sum(PAYMENT),' + QuotedStr('dummy') + ' as CAPTION,');
QueryPayments.SQL.Add('ID_PAYMENT_TYPE from PAYMENTS where ID_PROCESS in (select ID_PROCESS from PROCESSES where ID_STORE = :IDS)');
QueryPayments.ParamByName('IDS').AsInteger:= Options.StoreID;
if Options.TimeFrom > 0 then
begin
if (Options.FreeTime) or (not Options.SplitMonth) then
begin
QueryPayments.SQL.Add(' and PAYMENT_DATE between :FRO and :TO');
QueryPayments.SQL.Add(' group by PAYMENT_DATE, ID_PAYMENT_TYPE');
QueryPayments.SQL.Add(' ) order by PAYMENT_DATE, SUM desc');
QueryPayments.ParamByName('FRO').AsDate:= Options.TimeFrom;
QueryPayments.ParamByName('TO').AsDate:= Options.TimeTo;
QueryPayments.Open;
SetCSVFileName(Options.TimeFrom,Options.TimeTo);
WriteMemDataset;
ExportToCSV(MemDataset,IncludeTrailingPathDelimiter(dm.dBK.Preferences.Common.CSVFolder) + FCSVFileName,';',True,True);
end
else
.
.
Klammern sind korrekt (soweit ich sehe)... Was kann es noch sein ?