Vous pouvez utiliser une jointure externe comme celle-ci :
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 ;
Si les dates correspondent à holidaydate
n'est pas nul donc la clause CASE affiche la chaîne souhaitée sinon elle affiche le jour de la orderdate
.
order
est un mot réservé. Vraisemblablement, votre vraie table a un nom différent, pour éviter le ora-00903
Erreur. J'ai utilisé des orders
dans mon exemple, vous devrez donc modifier mon code pour qu'il corresponde au(x) nom(s) de votre table.