Требуется MS SQL Query для генерации результата, как показано ниже:
TABLE 1
Содержит список почасовых дат начала и окончания. Другая таблица, TABLE 2
содержит список дат начала и окончания времени простоя. Требуемый результат - список всех дат, как показано в таблице RESULT
.
ТАБЛИЦА 1
StartTime EndTime
2018-08-27 08:00:00 2018-08-27 09:00:00
2018-08-27 09:00:00 2018-08-27 10:00:00
2018-08-27 10:00:00 2018-08-27 11:00:00
2018-08-27 11:00:00 2018-08-27 12:00:00
2018-08-27 12:00:00 2018-08-27 13:00:00
ТАБЛИЦА 2
StartTime EndTime
2018-08-27 08:25:00 2018-08-27 08:30:00
2018-08-27 10:20:00 2018-08-27 10:30:00
РЕЗУЛЬТАТ
StartTime EndTime
2018-08-27 08:00:00 2018-08-27 08:25:00
2018-08-27 08:25:00 2018-08-27 08:30:00
2018-08-27 08:30:00 2018-08-27 09:00:00
2018-08-27 09:00:00 2018-08-27 10:00:00
2018-08-27 10:00:00 2018-08-27 10:20:00 --<< see changes
2018-08-27 10:20:00 2018-08-27 10:30:00 --<< period 10:00-11:00 got split
2018-08-27 10:30:00 2018-08-27 11:00:00 --<< as per 10:20-10:30 period from table2
2018-08-27 11:00:00 2018-08-27 12:00:00
2018-08-27 12:00:00 2018-08-27 13:00:00