Cita: Quizás si se pudiera hacer un algo así como un if en el sql en la función donde empareje el primer horario con el segundo y vea que el segundo es mayor al primero y ahí si siga su camino de lo contrario no.
El problema es que construyes demasiado dinámicamente la consulta (y no sabemos en qué parte, porque no posteas esa función), por lo que resultaría muy difícil desde lo que nos muestras indicarte la solución a nivel datos.
Si puedes postear la estructura de las tablas y una muestra de datos contenidos en ellas, podríamos hacer una query que devuelva lo que quieres, sobre la base de la cual puedes luego desarrollar el código para su creación dinámica, de acuerdo a lo que necesites.