Bạn có thể sử dụng một phép nối bên ngoài như thế này:
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 ;
Nếu ngày khớp với holidaydate
không rỗng nên mệnh đề CASE hiển thị chuỗi mong muốn của bạn, nếu không, nó hiển thị ngày của orderdate
.
order
là một từ dành riêng. Có lẽ bảng thực của bạn có tên khác, để tránh ora-00903
lỗi. Tôi đã sử dụng order
trong ví dụ của tôi, vì vậy bạn sẽ cần phải chỉnh sửa mã của tôi để khớp với (các) tên bảng của bạn.