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.