It should be doable to calculate the simple end date and then find the first (minimum) non-holiday that comes on or after that date. Something along the lines of:;with cteSimpleEndDate
as select
<calculate simpleEndDate>
from
Calendar c1 (blah, blah, blah)
)
select min(c.MyDate)
from Calendar c
inner join cteSimpleEndDate sed
on c.MyDate >= sed.SimpleEndDate
where
c.IsHoliday = 0
=================================================
We are far more concerned about the desecration of the flag than we are about the desecration of our land. -Wendell Berry