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.