AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

unknown Token DESC

Ein Thema von haentschman · begonnen am 22. Jul 2012 · letzter Beitrag vom 24. Jul 2012
Antwort Antwort
Benutzerbild von haentschman
haentschman

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

AW: unknown Token DESC

  Alt 22. Jul 2012, 11:05
Danke für die Anteilnahme

IBExpert:

Delphi-Quellcode:

select PAYMENT_DATE, sum(PAYMENT), 'dummyas CAPTION, ID_PAYMENT_TYPE from PAYMENTS where ID_PROCESS in (select ID_PROCESS from PROCESSES where ID_STORE = 2) group by PAYMENT_DATE, ID_PAYMENT_TYPE
...funktioniert -> Ergebnismenge

Delphi-Quellcode:
select * from(

select PAYMENT_DATE, sum(PAYMENT), 'dummyas CAPTION, ID_PAYMENT_TYPE from PAYMENTS where ID_PROCESS in (select ID_PROCESS from PROCESSES where ID_STORE = 2) group by PAYMENT_DATE, ID_PAYMENT_TYPE

) order by PAYMENT_DATE, SUM desc
Fehler: Token unknown - line 1, column 241.desc.
...wie zu sehen ist, ist da nur ein zusätzliches select drumherum...

Zitat:
aber versucht doch mal SUM(Payment) statt einfach nur SUM
...mit weggelassenem SUM ...) order by PAYMENT_DATE bekomme ich einen Kommandofehler:
Invalid command.
no column name specified for column number 2 in derived table <unnamed>.

Geändert von haentschman (22. Jul 2012 um 11:11 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: unknown Token DESC

  Alt 22. Jul 2012, 11:19
SUM ist ein reserviertes Wort
Markus Kinzler
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: unknown Token DESC

  Alt 22. Jul 2012, 11:22
Gib allen Spalten einen Namen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: unknown Token DESC

  Alt 22. Jul 2012, 11:26
Gib allen Spalten einen Namen.
Insebonders den Aggregaten
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

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

AW: unknown Token DESC

  Alt 22. Jul 2012, 11:26
Na klar ! Solange die Ergebnismenge nur "ausgewertet" wird ist der Feldname SUM in der Ergebnismenge "erlaubt". Durch das zusätzliche select wird natürlich der Feldname intern verwendet und kollidiert mit dem reservierten Wort. Ein Alias hat das ganze aufgelöst.
Delphi-Quellcode:

select * from(select PAYMENT_DATE, sum(PAYMENT) as SUMPAYMENT, 'dummyas CAPTION, ID_PAYMENT_TYPE from PAYMENTS where ID_PROCESS in (select ID_PROCESS from PROCESSES where ID_STORE = 2) group by PAYMENT_DATE, ID_PAYMENT_TYPE) order by PAYMENT_DATE, SUMPAYMENT desc
Danke an alle
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: unknown Token DESC

  Alt 22. Jul 2012, 11:29
Na klar ! Solange die Ergebnismenge nur "ausgewertet" wird ist der Feldname SUM in der Ergebnismenge "erlaubt". Durch das zusätzliche select wird natürlich
Jein. Da du ja keinen vorgegeben hast wird automatisch einer generiert SUM<...>.
In ORDER BY hast du aber SUM als Spaltenname angegeben und hier erwartet der Parser nun das zu summierende Feld in einer Klammer und kann kmit DESC deshalb nichts anfangen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

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

AW: unknown Token DESC

  Alt 22. Jul 2012, 11:33
Zitat:
Da du ja keinen vorgegeben hast wird automatisch einer generiert SUM
...klar. In Anbetracht dessen sollte man sich angewöhnen bei Aggregatfunktionen grundsätzlich einen Alias zu vergeben. Da kann dann so etwas nicht mehr passieren.
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
695 Beiträge
 
FreePascal / Lazarus
 
#8

AW: unknown Token DESC

  Alt 24. Jul 2012, 08:22
oder noch einfacher, wenn du bei group by und order by einfach nur die Spaltennummer angibst

select .... group by 1,2 order by 2, 1 desc
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf
  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 21:20 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