Соединение данных внутри смены [SQL]
Помогите, пожалуйста:
Есть структура данных вида:
EmployeeID, FIO, STARTTIME, ENDTIME, ACTIVITY
123, Васильев Вася Васильевич, 09.02.2024 9:00, 09.02.2024 18:00, Работа
123, Васильев Вася Васильевич, 09.02.2024 11:00, 09.02.2024 12:00, Обед
123, Васильев Вася Васильевич, 09.02.2024 14:00, 09.02.2024 15:00, Перерыв
123, Васильев Вася Васильевич, 09.02.2024 16:00, 09.02.2024 16:30, Личное время
Нужно из этого получить:
123, Васильев Вася Васильевич, 09.02.2024 9:00, 09.02.2024 11:00, Работа
123, Васильев Вася Васильевич, 09.02.2024 11:00, 09.02.2024 12:00, Обед
123, Васильев Вася Васильевич, 09.02.2024 12:00, 09.02.2024 14:00, Работа
123, Васильев Вася Васильевич, 09.02.2024 14:00, 09.02.2024 15:00, Перерыв
123, Васильев Вася Васильевич, 09.02.2024 15:00, 09.02.2024 16:00, Работа
123, Васильев Вася Васильевич, 09.02.2024 16:00, 09.02.2024 16:30, Личное время
123, Васильев Вася Васильевич, 09.02.2024 16:30, 09.02.2024 18:00, Работа
То есть в данных есть сама смена сотрудника и его перерывы. Нужно сделать так, чтобы они шли последовательно друг за другом. То есть смена с 9 до 18 - это контейнер, в котором есть нерабочие промежутки, а все что вокруг этих промежутков - работа.
Работаю на MSSQL.