Объедините строки, когда время окончания одного - это время начала другого, если нет, то как в SQL.Например:
DATE_SRNO start End Actual_Date
1 2018-08-04 12:22:00.000 2018-08-04 13:22:00.000 2018-08-04
1 2018-08-04 13:22:00.000 2018-08-04 16:46:00.000 2018-08-04
1 2018-08-04 20:17:00.000 2018-08-04 21:16:00.000 2018-08-04
1 2018-08-04 22:12:00.000 2018-08-04 22:28:00.000 2018-08-04
2 2018-08-05 19:08:00.000 2018-08-05 20:00:00.000 2018-08-05
2 2018-08-05 20:00:00.000 2018-08-05 20:52:00.000 2018-08-05
3 2018-08-20 07:27:00.000 2018-08-21 06:00:00.000 2018-08-20
3 2018-08-21 03:36:00.000 2018-08-21 04:36:00.000 2018-08-20
3 2018-08-21 04:36:00.000 2018-08-21 06:00:00.000 2018-08-20
Ожидаемый результат:
Sr.No start End Actual_Date
1 2018-08-04 12:22:00.000 2018-08-04 16:46:00.000 2018-08-04
1 2018-08-04 20:17:00.000 2018-08-04 21:16:00.000 2018-08-04
1 2018-08-04 22:12:00.000 2018-08-04 22:28:00.000 2018-08-04
2 2018-08-05 19:08:00.000 2018-08-05 20:52:00.000 2018-08-05
3 2018-08-20 07:27:00.000 2018-08-21 06:00:00.000 2018-08-20
3 2018-08-21 03:36:00.000 2018-08-21 06:00:00.000 2018-08-20
Я пробовал запрос ниже, но точный вывод не получается.
SELECT
T1.Malf_start,
T2.MalfEnd,
T1.COMPARE_DATE
FROM
#temp T1
INNER JOIN
#temp T2
ON T2.DATE_SRNO = T1.DATE_SRNO
AND T2.Malf_start = T1.MalfEnd
Ниже приведен результат Iполучил.
start End Actual_Date
2018-08-04 12:22:00.000 2018-08-04 16:46:00.000 2018-08-04
2018-08-05 19:08:00.000 2018-08-05 20:52:00.000 2018-08-05
2018-08-21 03:36:00.000 2018-08-21 06:00:00.000 2018-08-20