2010-07-06 5 views
9

Кто-нибудь знает, что случилось с этим вложенным оператором select? Он жалуется на отсутствие) 's, но я не могу понять, почему он не работает (я кончил другие биты заявления)sql вложенные операторы case

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 

Если я вобще

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 работает отлично!

любой помощь очень ценятся

M

жаль быть Тардом я пропускаю Whens из вложенных случаев

ответ

20

Оно должно быть:

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 

т.е. просто " КОГДА "не" ELSE CASE WHEN "для каждого случая.

Я был бы соблазн упростить:

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

Или еще лучше: 'СЛУЧАЙ КОГДА REQUESTS.grade_id 1 THEN ... КОГДА 2 THEN ... КОГДА 3 THEN ... END' – Guffa

+0

спасибо но это тоже не работает, Else Case Когда бит пришел от меня, возиться вокруг tring, чтобы заставить его работать. любые другие идеи? – matt1234

+1

Мне не хватает Когда из вложенных случаев !! жаль, что это тряпка! – matt1234

Смежные вопросы