मेरा दृष्टिकोण sysdate -1 अवरोही से शुरू होने वाली तिथियों की एक निश्चित संख्या उत्पन्न करना होगा और फिर उन पर काम करना होगा। निम्नलिखित स्निपेट में मैंने 100 को चुना है। एक बार जब आपको सही तिथि मिल जाए, तो बस इसे तालिका 1 पर फ़िल्टर करने के लिए उपयोग करें।
select dates
from (
select rownum as rn,
dates
from (
select x.dates,
nvl2(h.holiday_from,'T','F') as hd,
decode (to_char(x.dates,'D')-1,6,'T',7,'T','F') as WE
from (
select trunc(sysdate) - rownum as dates
from dual d
connect By rownum <= 100 -- change this number if you plan on having long holidays
) x
left outer join holidays h
on x.dates between h.holiday_fromand h.holiday_to
)
where hd = 'F' and WE = 'F' -- exclude holidays and weekends
)
where rn = 14; -- return the 14th working day from now