2016-07-29 22 views
0

ich diesen Fall Aussage haben:MySQL korrekt Case-Anweisung zunächst außer Kraft zu setzen deklarierten Wert

CASE 
WHEN CI.season = 1 THEN "Wet Season" 
WHEN CI.season = 2 THEN "Early Wet Season" 
WHEN CI.season = 3 THEN "Late Wet Season" 
WHEN CI.season = 4 THEN "Dry Season" 
WHEN CI.season = 4 and R.date_accessed > "2016-05-20 23:59:59" THEN "NULL" 
ELSE "NULL" END as "Season" , 

Wie kann ich zeigen, dass, wenn Saison Wert 4 und Datum zugegriffen> als „2016.05.20 23.59 : 59 "sollte gleich NULL sein. Gerade jetzt zeigt es nur "Dry Season". Ich denke, es liest nur das erste Szenario. Danke für die Antwort Jungs.

Antwort

1

Versuchen Sie folgendes:

CASE 
WHEN CI.season = 1 THEN "Wet Season" 
WHEN CI.season = 2 THEN "Early Wet Season" 
WHEN CI.season = 3 THEN "Late Wet Season" 
WHEN CI.season = 4 and R.date_accessed > "2016-05-20 23:59:59" THEN "NULL" 
WHEN CI.season = 4 THEN "Dry Season" 
ELSE "NULL" END as "Season" 

Oder

CASE 
WHEN CI.season = 1 THEN "Wet Season" 
WHEN CI.season = 2 THEN "Early Wet Season" 
WHEN CI.season = 3 THEN "Late Wet Season" 
WHEN CI.season = 4 THEN 
    CASE WHEN R.date_accessed > "2016-05-20 23:59:59" THEN "NULL" ELSE "Dry Season" END 
ELSE "NULL" END as "Season" 
+0

Zweite man seine Arbeit tut, aber es dauert zu lange ..;) –