Доступен только Teradata SQL.Найти следующее согласованное значение в списке
Я пытаюсь динамически создавать список дат, на которых будут выполняться задания. Вот упрощенная версия того, что я имею в виду.
Calendar (covers 2012+)
--------
Calender Date
Business Day Flag - 1 = This is a Business Day, 0 = Weekend
Holiday Flag - 1 = This is a Holiday, 0 = Non-Holiday
Year
Month
Day
Schedule (several more fields available, but not relevant)
--------
Day Type - Business Day or Calendar Date
Day Number - Represents either a Business or Calendar Day
Eligible to run on holiday - Yes/No
Logic осуществляется через саз в выбранном
when d.day_type = 'BD' and day_num = c.business_day_of_month then 'Y'
when d.day_type = 'CD' and day_num = c.day_of_month then 'Y'
else 'N' as run_flag
Однако, когда run_flag = «Y» и Holiday_Flag = 1, то задание должно быть перечислены для работы на следующем Бизнесе/Календарный день (в зависимости от типа day_type).
Я думаю, что мне нужно использовать свинцовое/отставание, но я не знаю, смогу ли я заставить его пройти через вовлеченную логику.
Любые идеи?