В MsSQL 2014 у меня есть таблица, содержащая интервалы значений
Col1 Col2
1 3
2 4
7 12
7 15
14 21
Мне нужно получить максимальное и минимальное значения пересекающихся интервалов.Ожидаемый результат:
Col1 Col2
1 4
7 21
Есть идеи, как построить запрос?
Первая строка описывает интервал от 1 до 3. То есть интервал содержит значения 1, 1.1, 1.2, ..., 2.8, 2.9, 3. Интервал во второй строке содержит значения 2, 2.1, 2.2 ... 3.9, 4. Пересечение интервалов в первых двух строках содержит 2, 2.1, ...2.9, 3.
И в пятой строке интервал не имеет пересечений с интервалом из третьего ряда, но пятый ряд и третий имеют пересечения с четвертым рядом.
Мне нужно найти такие интервалы и получить их минимальные и максимальные значения.Я знаю, как сделать это с помощью курсора, но могу ли я сделать это с помощью SQL-запроса?