sql >> Base de Datos >  >> RDS >> Mysql

disponibilidad de habitaciones de hotel mysql

Quieres algo como esto:

select room_id
from availability a
where avail_date between $start and $end
group by room_id
having count(*) = datediff($end, $start) + 1;

El having la cláusula está contando la cantidad de filas durante ese período para ver si coincide con la cantidad de días que necesita. Esta es una lógica "inclusiva", por lo que si $start = $end , entonces asume que necesita la habitación en esa fecha.