Teradata SQL
select lstg_id, deal_start_dt, deal_end_dt, min(deal_start_dt) over ( partition by lstg_id order by deal_start_dt reset when deal_start_dt> max(deal_end_dt) over (partition by lstg_id order by deal_start_dt rows between unbounded preceding and 1 preceding )), max(deal_end_dt) over ( partition by lstg_id order by deal_start_dt reset when deal_start_dt> max(deal_end_dt) over (partition by lstg_id order by deal_start_dt rows between unbounded preceding and 1 preceding )) from app_compass_t.CMPS_LSTG_DLY_DEAL_HIST
Teradata LOAP function with RESET. Very cool!!!