Thema: Delphi unknown Token DESC

Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.303 Beiträge
 
Delphi 12 Athens
 
#1

unknown Token DESC

  Alt 22. Jul 2012, 10:26
Datenbank: Firebird • Version: 2.5 • Zugriff über: IBDAC
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 ?

Geändert von haentschman (22. Jul 2012 um 10:58 Uhr)
  Mit Zitat antworten Zitat