Соединение данных внутри смены [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.


Ответы (0 шт):