y es eso justamente en el between pones la fecha y hora de inicio y fin de la reserva que se quiere hacer si te entrega uno ya existe reserva para el periodo, si da 0 puedes reservar....
La fecha y hora de la consulta es la nueva reserva.
Si ya me di cuenta de un HORROR jejje pero se podría arreglar la consulta con un or y un par de mayores e iguales
Código SQL:
Ver originalSELECT COUNT(id_materia) AS cantidad FROM materias
WHERE (fecha_inicial BETWEEN '2012-03-16 21:00:00' AND '2012-03-16 22:00:00') ||
(fecha_final BETWEEN '2012-03-16 21:00:00' AND '2012-03-16 22:00:00') ||
(fecha_inicial < '2012-03-16 21:00:00' AND fecha_final > '2012-03-16 22:00:00')
Creo que por ahí va la cosa
Saludos