Hola
Tengo una tabla que guarda la disponibilidad de salas para reuniones.
La estructura es la siguiente:
TABLA "SALAS"
ID_REG int -- correlativo unico
C_SALA int -- codigo de la sala
C_FEC datetime -- fecha de reserva de la sala
C_INI datetime -- hora de inicio de la reunion
C_FIN datetime -- hora de fin de la reunion
Necesito saber, la disponibilidad de la sala de reunion.
He hecho un store al cual le envio por parametros, el codigo de la sala, la
fecha, y la hora de inicio y fin. Me devuelve 0 si hay disponibilidad y
mayor a 0 si esta ocupada.
He probado con algunas horas, pero no me sale del todo bien, la parte del
select es el siguiente:
SELECT COUNT(*) FROM SALAS
WHERE C_SALA=@SALA AND C_FEC=@FECHA
AND ((@INI>=C_INI AND @INI<C_FIN) OR (@FIN>C_INI AND @FIN<=C_FIN))
Donde @SALA, @FECHA, @INI, @FIN son los parametros que envio (los tipos de
datos son los mismos de la tabla)
Por dar un ejemplo, actualmente tengo como dato en la tabla : Sala=5,
Fecha'/01/2009, Hora Inicio:00am, Hora Fin=4:00am
Si le mando como parametro, Sala=5, Fecha'/01/2009,HoraInicio:30,
HoraFin:00, me devuelve 1, es decir esta ocupado.
Pero si le mando: Sala=5,Fecha'/01/2009,HoraInicio=1:00am,HoraFin=5:00am,
me devuelve 0, cuando me deberia devolver 1...
Les agradezco la ayuda.
JorgeG.
Leer las respuestas