DB2 SQL Char() und SUM() in einem Selectstatement

Hallo,

ich habe probleme in einem SQL Statement auf eine DB2 Datenbank in dem gelichzeitig ein char() und sum() vorkommen sollen.

SELECT char(CURRENT_DATE, EUR),…, SUM ( Chrg_Lbr06_Emea.Tot_Chrg_Amt ),…, char(T510Wrk_Uv.Description),…

Ich bekomme dann folgende Fehlermeldung:

SQLSTATE: 42601, Error Msg: [IBM][CLI Driver][DB2] SQL0104N Auf „“ folgte das unerwartete Token „(“. Zu den möglichen Token gehören: "FOR WITH FETCH ORDER UNION EXCEPT QUERYNO OPTIMIZE ". SQLSTATE=42601

Wenn ich nur char()oder sum() verwende habe ich keine Probleme. Ich habe auch schon veruscht die Reihenfolge der Felder zu ändern, aber ohne auswirkungen.

Mache ich da was falsch oder geht das grundsätzlich nicht?

MfG
Jörn

Hallo,

du mischst Gruppenfunktionen und andere Funktionen.
Du musst nach den anderen funktionen gruppieren. Dann gehts.

Der Sinn davon ist, dass das Ergebnis sonst nicht definiert ist.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Mein GROUP BY sieht so aus:

GROUP BY …andere Felder ohne Funktion…, char(T510Wrk_Uv.DESCRIPTION), char(CURRENT_DATE, EUR)

Oder soll ich char(T510Wrk_Uv.DESCRIPTION), char(CURRENT_DATE, EUR)
aus dem GROUP BY rauslassen? Aber da bekomme ich auch einen Fehler.

Jörn

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

im GROUP BY müssen alle Felder genau so wie im SELECT stehen außer den Gruppenfeldern.

Aber ich denke, dein Fehler liegt ganz woanders. Der TOKEN-Fehler bedeutet, dass das SQL gar nicht aufgelöst werden konnte. Du solltest mal ein Attribut nach dem anderen weglassen und schauen, wann der Fehler verschwindet.

Evtl hast du auch nur irgendwo eine Leerzeile und danach ein ( vergessen wegzumachen.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]