Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

instrução de seleção condicional no oracle


Você pode usar uma junção externa assim:
SELECT OrderId,
       OrderDate, 
       case when holidaydate is not null then  'Public holiday' 
             else to_char(OrderDate, 'Day') end as DAY
from orders
     left outer join holidays
        on OrderDate = holiday_date ;

Se as datas corresponderem a holidaydate não é nulo, então a cláusula CASE exibe a string desejada, caso contrário, exibe o dia do orderdate .

order é uma palavra reservada. Presumivelmente, sua tabela real tem um nome diferente, para evitar o ora-00903 erro. Eu usei orders no meu exemplo, então você precisará editar meu código para corresponder ao(s) nome(s) da(s) sua(s) tabela(s).