Oracle
 sql >> Database >  >> RDS >> Oracle

istruzione condizionale select in Oracle

Puoi utilizzare un outer join come questo:

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 le date corrispondono a holidaydate non è nullo quindi la clausola CASE mostra la stringa desiderata altrimenti mostra il giorno del orderdate .

order è una parola riservata. Presumibilmente il tuo tavolo reale ha un nome diverso, per evitare ora-00903 errore. Ho usato orders nel mio esempio, quindi dovrai modificare il mio codice in modo che corrisponda ai nomi dei tuoi tavoli.