2010-07-06 20 views
9

czy ktoś wie, co jest nie tak z tym zagnieżdżonym wyborem instrukcji? Narzeka na brak) 's, ale nie mogę zrozumieć, dlaczego to nie działa (mam skończył pozostałe bity Statement)Zagnieżdżone instrukcje dotyczące zagnieżdżonych sql

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 

jeśli tylko zrobić

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 

It działa w porządku!

każda pomoc jest mile widziane

M

przykro bycia tard jestem brakuje whens od zagnieżdżonych przypadkach

Odpowiedz

20

Powinno być:

Select 
(CASE WHEN REQUESTS.grade_id = 1 THEN 
     (CASE WHEN ((date_completed-date_submitted)*24*60)<=30 THEN 'Yes' 
      ELSE 'No' 
     END) 
     WHEN REQUESTS.grade_id = 2 THEN 
     (CASE ((date_completed-date_submitted)*24*60) <=120 THEN 'Yes' 
      ELSE 'No' 
     END) 
     WHEN REQUESTS.grade_id = 3 THEN 
    (CASE ((date_completed-date_submitted)*24*60)<=14400 THEN 'Yes' 
      ELSE 'No' 
    END) 
END)in_SLA 

czyli po prostu " KIEDY "NIE" ELSE CASE WHEN "dla każdego przypadku.

byłbym skłonny do uprościć do:

Select 
CASE WHEN (REQUESTS.grade_id = 1 AND (date_completed-date_submitted)*24*60 <= 30) 
     OR (REQUESTS.grade_id = 2 AND (date_completed-date_submitted)*24*60 <=120) 
     OR (REQUESTS.grade_id = 3 AND (date_completed-date_submitted)*24*60 <=14400) 
    THEN 'Yes' 
    ELSE 'No' 
END in_SLA 
+2

lub nawet lepiej: 'CASE REQUESTS.grade_id KIEDY 1 THEN ... Kiedy 2 THEN ... Kiedy 3 THEN ... END' – Guffa

+0

dzięki ale to też nie działa, przypadek Else Kiedy trochę mnie zaskoczyło, błądząc po tringach, żeby to zadziałało. jakieś inne pomysły? – matt1234

+1

Brakuje mi kiedy z zagnieżdżonych skrzynek !! Przepraszam, że jestem tardą! – matt1234

Powiązane problemy