Lydia.h: MySql Select mit mehreren Case

Hallo ihr Lieben,

ich versuche eine SELECT-Anweisung zu schreiben, bei der ich 2 Datumsfelder in einen Realen Monat umschreiben will:

Mit dem ersten Monat klappt es auch super:

---
SELECT date_start, date_stop,
CASE Date_FORMAT( date_start, "%m" )
WHEN "01"
THEN "Januar"
WHEN "02"
THEN "Februar"
WHEN "03"
THEN "März"
WHEN "04"
THEN "April"
WHEN "05"
THEN "Mai"
WHEN "06"
THEN "Juni"
WHEN "07"
THEN "Juli"
WHEN "08"
THEN "August"
WHEN "09"
THEN "September"
WHEN "10"
THEN "Oktober"
WHEN "11"
THEN "November"
WHEN "12"
THEN "Dezember"
ELSE "unklar"
END AS Monat_Start

FROM TABELLE

---

Trage ich nun aber nach "AS Monat_Start" eine neue Spalte ein (mit ", NeueSpalte"), dann gibt es eine Fehlermeldung "near to ...".

Wie geht es, dass ich nach dem CASE-END noch eine Spalte anhänge?
Freu mich auf jeden Hinweis.
Liebe Grüße
Lydia.

  1. SELECT date_start, date_stop,
    CASE Date_FORMAT( date_start, "%m" )
    WHEN "01"
    THEN "Januar"
    WHEN "02"
    THEN "Februar"
    WHEN "03"
    THEN "März"
    WHEN "04"
    THEN "April"
    WHEN "05"
    THEN "Mai"
    WHEN "06"
    THEN "Juni"
    WHEN "07"
    THEN "Juli"
    WHEN "08"
    THEN "August"
    WHEN "09"
    THEN "September"
    WHEN "10"
    THEN "Oktober"
    WHEN "11"
    THEN "November"
    WHEN "12"
    THEN "Dezember"
    ELSE "unklar"
    END AS Monat_Start

    FROM TABELLE

    Kannst Du nicht einfaxch einen "CASE-Blöck":

    ,CASE Date_FORMAT( date_start, "%m" )
    WHEN "01"
    THEN "Januar"
    WHEN "02"
    THEN "Februar"
    WHEN "03"
    THEN "März"
    WHEN "04"
    THEN "April"
    WHEN "05"
    THEN "Mai"
    WHEN "06"
    THEN "Juni"
    WHEN "07"
    THEN "Juli"
    WHEN "08"
    THEN "August"
    WHEN "09"
    THEN "September"
    WHEN "10"
    THEN "Oktober"
    WHEN "11"
    THEN "November"
    WHEN "12"
    THEN "Dezember"
    ELSE "unklar"
    END AS Monat_Start

    anhaengen?
    Natuerlich einen anderen Aliasnamen waehlen.

    Was funzt denn dann nicht? Code-Beispiel und Fehlermeldung bitte anlegen.

  2. Hello Du Eine,

    Mit dem ersten Monat klappt es auch super:


    SELECT date_start, date_stop,
    CASE Date_FORMAT( date_start, "%m" )
    WHEN "01"
    THEN "Januar"
    WHEN "02"
    THEN "Februar"
    WHEN "03"
    THEN "März"
    WHEN "04"
    THEN "April"
    WHEN "05"
    THEN "Mai"
    WHEN "06"
    THEN "Juni"
    WHEN "07"
    THEN "Juli"
    WHEN "08"
    THEN "August"
    WHEN "09"
    THEN "September"
    WHEN "10"
    THEN "Oktober"
    WHEN "11"
    THEN "November"
    WHEN "12"
    THEN "Dezember"
    ELSE "unklar"

    END CASE
      AS Monat_Start

    FROM TABELLE

    Ich meine, es muss "END CASE" heißen

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

  3. Hello nochmal,

    hab mal meine kleine "MySQL-Farm" angeschmissen

    Das mit "END CASE" zuerst: MySQL 3.23.55 versteht das nicht und benötigt tatsächlich nur "END".

    Nun zum Statement. Das folgende liefert mir erstklassige Ergebnisse
    Leider hat mein Frontend eine Macke und zeigt keine Fehlermeldungen an.
    Wenn ich irgendwo ein Komma weglasse, gibts kein Ergebnis. Ich hätte Dir gerne die zugehörige Fehlermeldung mitgeliefert, aber ...

    SELECT LASTCLICK, FIRSTCLICK,

    CASE Date_FORMAT( LASTCLICK, "%m" )
    WHEN 1
    THEN "Januar"
    WHEN 2
    THEN "Februar"
    WHEN 3
    THEN "März"
    WHEN 4
    THEN "April"
    WHEN 5
    THEN "Mai"
    WHEN 6
    THEN "Juni"
    WHEN 7
    THEN "Juli"
    WHEN 8
    THEN "August"
    WHEN 9
    THEN "September"
    WHEN 10
    THEN "Oktober"
    WHEN 11
    THEN "November"
    WHEN 12
    THEN "Dezember"
    ELSE "unklar"
    END
    AS ENDE,

    CASE Date_FORMAT( FIRSTCLICK, "%m" )
    WHEN 1
    THEN "Januar"
    WHEN 2
    THEN "Februar"
    WHEN 3
    THEN "März"
    WHEN 4
    THEN "April"
    WHEN 5
    THEN "Mai"
    WHEN 6
    THEN "Juni"
    WHEN 7
    THEN "Juli"
    WHEN 8
    THEN "August"
    WHEN 9
    THEN "September"
    WHEN 10
    THEN "Oktober"
    WHEN 11
    THEN "November"
    WHEN 12
    THEN "Dezember"
    ELSE "unklar"
    END
    AS BEGINN,

    ID_ADRESSE
    FROM ADRESSE

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau