Gruppieren nach Jahren und Monaten
- Dieses Thema hat 3 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 18 Jahre, 2 Monaten von
Anonym.
-
AuthorPosts
-
6. Juli 2005 um 12:55 Uhr #2569
AnonymInaktivHallo an alle,
ich habe ein Problem mit einer Abfrage. Ich würde gern nach Jahren und dann nach Monaten sortieren. Aber ich bekomme immer eine Fehlermeldung.
Kann mir vielleicht jemand weiterhelfen?
SELECT YEAR(bearb_erst) AS "JAHR", MONTH(bearb_erst) AS "MONAT", COUNT(nael_nr) AS "Anzahl NAELs"
FROM xxxxxxx
WHERE bearb_erst BETWEEN '2004-09-01' AND '2005-06-30'
GROUP BY YEAR(bearb_erst), MONTH(bearb_erst)
Fehlermeldung:
--ERROR: ===========================================================================================
--ERROR: SQLState = 42601
--ERROR: StopProcessing = true
--ERROR: VendorCode = -104
--ERROR: [IBM][CLI Driver][DB2] SQL0104N An unexpected token "(" was found following "". Expected
--ERROR: tokens may include: "FOR WITH FETCH ORDER UNION EXCEPT QUERYNO OPTIMIZE ". SQLSTATE=42601
--ERROR: ===========================================================================================
vielen Dank schon mal für die Hilfe.
Gruss Caliterra
6. Juli 2005 um 13:52 Uhr #3015
AnonymInaktivDas sollte mit einem nested table select funktionieren:
SELECT JAHR , MONAT , COUNT(nael_nr)
FROM
( SELECT YEAR(bearb_erst) as JAHR , MONTH(bearb_erst) as MONAT , nael_nr
FROM xxxxx
WHERE bearb_erst BETWEEN ‚2004-09-01‘ AND ‚2005-06-30‘) A
GROUP BY JAHR , MONAT6. Juli 2005 um 14:10 Uhr #3327
AnonymInaktivVielen Dank für die schnelle Hilfe. ;D
Es hat sofort funktioniert.Zum Verständnis:
Was sagt das "A", am Ende Der WHERE Zeile, aus?
6. Juli 2005 um 14:21 Uhr #3523
AnonymInaktivDas "A" ist ein Korrelationsname, der aus syntaktischen Gründen da stehen muss, aber keine eigentliche Funktion hat ( statt A könntest Du auch irgendwas anderes schreiben ).
-
AuthorPosts
You must be logged in to reply to this topic.