Мне нужно сравнить дату (конец dt) в 1-й строке с датой (strt dt) в строке secord, если она совпадает, мне нужно забрать strt dt 2-й строки.если это не совпадает, мне нужно забрать sttt dt 1-го ряда.Может быть несколько строк для одной подписки и пакета канала.Я испытываю трудности при написании запроса в teradata для получения желаемого результата.
Ниже приведены случаи и ожидаемые результаты.
Дело 1
Subscription Channel package Start dt End dt
11111112 Sports 7/3/2015 11/28/2015
11111112 Sports 4/1/2016 11/23/2016
11111112 Sports 11/23/2016 12/17/2017
Требуется вывод
Subscription Channel package Start dt End dt
11111112 Sports 4/1/2016 12/17/2017
Дело 2
Subscription Channel package Start dt End dt
11111112 Sports 7/3/2015 11/28/2015
11111112 Sports 11/28/2015 4/1/2016
11111112 Sports 4/1/2016 11/23/2016
11111112 Sports 11/23/2016 12/17/2017
Требуется вывод
Subscription Channel package Start dt End dt
11111112 Sports 7/3/2015 12/17/2017
Я попробовал это, используя
MIN(Start dt) OVER (PARTITION BY Subscription , Channel package
ORDER BY Start dt ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING
) AS NXT Start dt
Но не смог пойти дальше, так как столкнулся с некоторыми проблемами при использовании квалификации.