Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/09/2010, 16:12
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Comparar si dos horas se cruzan entre si

Lo único que necesitas es saber si la hora de inicio de la nueva está entremedio de alguna de las que ya están o si la hora de fin de la nueva lo está.
Eso te dará la respuesta.

Algo así te devolvería 1 si hay algún cruzamiento entre el valor de horainicial u horafinal, contra alguno de los horarios que figuren en la tabla. Si devuelve cero, no se cruza con ninguna.
Código MySQL:
Ver original
  1. SELECT COUNT(*) cruzadas
  2. FROM tabla T
  3.   (horainicial BETWEEN Hora_Inicio AND Hora_Fin)
  4.   OR
  5.   (horafinal BETWEEN Hora_Inicio AND Hora_Fin);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)