Использование оператора Case, когда в таблице нет записей - PullRequest
1 голос
/ 05 мая 2020

Я хочу выполнить нижеприведенное условие для поля в левом внешнем соединении

Если field1 = Open и field2 ne 3, то мне нужно 'OPEN', иначе 'CLOSE', и в таблице нет записи тогда мне нужно «НЕЙТРАЛЬНО»

, это написанная кодировка, но она возвращает либо ОТКРЫТЬ, либо ЗАКРЫТЬ, но не нейтрально, если в таблице 3 нет записи на основе условия соединения, приведенного ниже. Пожалуйста, помогите.

   SELECT coalesce ( ( 
       case 
           when tab3.field1 = 'Open' and tab3.field2 <> '3' then 'OPEN'
           else 'CLOSE'
       end
       ),'NEUTRAL') as STATUS  
   FROM table1 AS tab1    
   LEFT OUTER JOIN table3 AS tab3 
                on tab1.material = tab3.material

1 Ответ

0 голосов
/ 05 мая 2020

Вы хотите что-то вроде этого:

case
    when tab3.material is null then 'NEUTRAL'
    when tab3.field1  = 'Open' and tab3.field2 <> '3' then 'OPEN'
    else 'CLOSE'
end as Status
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...