Есть несколько способов получить ожидаемый результат. На основании ваших данных вы можете применить опцию Teradata NORMALIZE, расширение SQL для объединения перекрывающихся периодов:
SELECT NAME, job_title, status, next(Begin(pd)) AS start_date, End(pd) AS end_date
FROM
( -- returns one group for consecutive overlapping rows
SELECT NORMALIZE
name,
job_title,
status,
-- need to subtract 1 to create a valid period
PERIOD(prior(start_date), end_date) AS pd
FROM tab
) AS dt
QUALIFY
-- return the latest row only
Row_Number()
Over(PARTITION BY name
ORDER BY start_date DESC) = 1
Внимание: эта команда возвращает новую группу всякий раз, когда имя, название должности или статус меняются.