Chcete něco takového:
select room_id
from availability a
where avail_date between $start and $end
group by room_id
having count(*) = datediff($end, $start) + 1;
having
klauzule počítá počet řádků během tohoto období, aby se zjistilo, zda odpovídá počtu dní, které potřebujete. Toto je "inkluzivní" logika, takže pokud $start = $end
, pak předpokládá, že v daný den místnost potřebujete.