MySql Select mit mehreren Case
Lydia.h
- datenbank
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.
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_StartFROM 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.
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
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