Anda dapat menggunakan gabungan luar seperti ini:
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 ;
Jika tanggalnya cocok dengan holidaydate
bukan null jadi klausa CASE menampilkan string yang Anda inginkan jika tidak, ini akan menampilkan hari orderdate
.
order
adalah kata yang dicadangkan. Agaknya tabel asli Anda memiliki nama yang berbeda, untuk menghindari ora-00903
kesalahan. Saya telah menggunakan orders
dalam contoh saya, jadi Anda perlu mengedit kode saya agar sesuai dengan nama tabel Anda.