Anda menginginkan sesuatu seperti ini:
select room_id
from availability a
where avail_date between $start and $end
group by room_id
having count(*) = datediff($end, $start) + 1;
having
klausa menghitung jumlah baris selama periode itu untuk melihat apakah itu cocok dengan jumlah hari yang Anda butuhkan. Ini adalah logika "inklusif", jadi jika $start = $end
, maka diasumsikan Anda membutuhkan kamar pada tanggal tersebut.