sql geschachtelte case-Anweisungen
weiß jemand, was ist falsch mit dieser geschachtelten select-Anweisung? Es beschwert sich über fehlende )'s, aber ich kann nicht verstehen, warum es nicht funktioniert (ich habe aufgehört die anderen bits der Anweisung)
Select
(CASE WHEN REQUESTS.grade_id = 1 THEN
(CASE WHEN ((date_completed-date_submitted)*24*60)<=30 THEN 'Yes'
ELSE 'No'
END)
ELSE CASE WHEN REQUESTS.grade_id = 2 THEN
(CASE ((date_completed-date_submitted)*24*60) <=120 THEN 'Yes'
ELSE 'No'
END)
ELSE CASE WHEN REQUESTS.grade_id = 3 THEN
(CASE ((date_completed-date_submitted)*24*60)<=14400 THEN 'Yes'
ELSE 'No'
END)
END)in_SLA
Wenn ich einfach
Select
(CASE WHEN REQUESTS.grade_id = 1 THEN
(CASE WHEN ((date_completed-date_submitted)*24*60)<=30 THEN 'Yes'
ELSE 'No'
END)
END) in_sla
Funktioniert es einwandfrei!
jede Hilfe ist sehr willkommen
M
sorry ein tard ich bin fehlt, die aber aus den verschachtelten Fällen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte es sein:
also einfach nur das "WANN" und nicht "ELSE FALL, WENN" für jeden Fall.
Ich würde versucht sein, Sie zu vereinfachen:
CASE REQUESTS.grade_id WHEN 1 THEN ... WHEN 2 THEN ... WHEN 3 THEN ... END