Możesz użyć takiego sprzężenia zewnętrznego:
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 ;
Jeśli daty pasują do holidaydate nie jest null, więc klauzula CASE wyświetla żądany ciąg, w przeciwnym razie wyświetla dzień orderdate .
order to słowo zastrzeżone. Przypuszczalnie twój prawdziwy stół ma inną nazwę, aby uniknąć ora-00903 błąd. Wykorzystałem orders w moim przykładzie, więc będziesz musiał edytować mój kod, aby pasował do twoich nazw tabel.