Thomas: Einen Wertebereich zusammenfassen

Beitrag lesen

Du musst die CASE-WHEN-Formel in die GROUP BY-Klausel schreiben.

Vielen Dank, so werde ich das jetzt machen.

Habe gerade versucht den CASE Block in die Group By Klausel zu schreiben.
Das hat mir eine Fehlermeldung geworfen (Syntax Error)

In meinem Fall greife ich ja auf eine Informix DB zu.
Jetzt habe ich herausgefunden wie die Gruppierung nach der Spalte im Select möglich ist:

  
SELECT      SUM( ... ) AS anzahl,  
            shoehe.wert AS shoehe,  
            sstaerke.wert AS sstaerke,  
            CASE  
            WHEN    CAST(REPLACE(sbreite.wert,'.',',') AS numeric) > 0  
                    AND CAST(REPLACE(sbreite.wert,'.',',') AS numeric) <= 100  
                THEN    '0 - 100'  
            WHEN    CAST(REPLACE(sbreite.wert,'.',',') AS numeric) > 100  
                    AND CAST(REPLACE(sbreite.wert,'.',',') AS numeric) <= 150  
                THEN    '100 - 150'  
            ELSE  
                '150 - x'  
            END AS breitebereich  
FROM  
...  
GROUP BY    shoehe.wert,  
            sstaerke.wert,  
            4  

Man spricht die Spalte anhand der Nummer an. In diesem Beispiel ist mein Case Block die 4 Spalte, also spreche ich diese im Group By mit der "4" an.

Hoffe das hilft vielleicht mal jemanden weiter.

Grüße
Thomas