Идентификация международных заказов из внутренних

#db2

#db2

Вопрос:

Я пытаюсь отличить внутренних клиентов от международных клиентов. Я могу сделать это в SQL, но мне нужно сделать это в DB2. Я бы сказал, в SQL.

 Select
DCSCRY,
case when ocrh.dcscry = '   ' then 'BLANK' else case when ocrh.dcscry <> 'US ' then 'Y' else '' end 
end as INTER
from ocrh
  

Результат

 DCSCRY   INTER

 US
 US 
 CA        Y
 CA        Y
  

Есть какие-либо рекомендации по DB2?

Комментарии:

1. Тот же синтаксис в Db2 действителен для Db2-LUW. Если вы получаете какую-либо ошибку, вам следует отредактировать свой вопрос, чтобы точно отобразить ошибку.

Ответ №1:

Я не думаю, что SQL, который вы показали, действителен где угодно … и он не соответствует результатам, которые вы показали…

when ocrh.dcscry = ' ' then 'BLANK'

Но ваши результаты не показывают строку BLANK

 DCSCRY   INTER
     
  

В любом случае у вас есть дополнительный else и case в заявлении, которое вы опубликовали. Правильный синтаксис

 case
  when
  when
  else  
end
  

Итак, ваше заявление должно быть

 Select
  DCSCRY,
  case 
    when ocrh.dcscry = '   ' then 'BLANK' 
    when ocrh.dcscry <> 'US ' then 'Y' 
    else '' 
  end as INTER
from ocrh