В таблице ниже показаны 3 выбранные строки из таблицы сеансов, которые содержат 3 сеанса для одного и того же врача в один и тот же день, но с разным временем начала и окончания.Я хочу обновить столбцы sessionStartTime и sessionEndTime одной строки в этой таблице, проверяя, перекрывают ли эти sessionStartTime и sessionEndTime другие 2 строки.Мне нужен правильный SQL-запрос для этого.
Например, я хочу отредактировать sessionStartTime как 2018-07-08 9:30:00 и sessionEndTime как 2018-07-08 10:30:00 строки с id = 1091 и как начальныйвремя и время окончания этого сеанса не перекрываются с двумя другими значениями строки, эти два значения должны быть обновлены. Но если я ввел два значения sessionStartTime как 2018-07-08 8:20:00 и sessionEndTime как 2018-07-089:00:00 с идентификатором = 1091 не должно позволять редактировать строку, поскольку уже существует другой сеанс с идентификатором = 1090, который содержит начальную и конечную длительность.
![enter image description here](https://i.stack.imgur.com/Xufof.png)
это запрос, который я уже пробовал.
SELECT *
FROM session
WHERE (sessionDate='2018-07-08 00:00:00')
AND (userInfoId=420)
AND ( ('2018-07-08 9:30:00'BETWEEN sessionStartTime AND sessionEndTime)
OR ('2018-07-08 10:30:00'BETWEEN sessionStartTime AND sessionEndTime )
OR (sessionStartTime BETWEEN '2018-07-08 9:30:00' AND '2018-07-08 10:30:00'));