For at søge efter alle værelser, der ikke har nogen reservationer inden for en bestemt tidsramme, skal du overveje følgende:
SELECT roomID FROM room WHERE roomID NOT IN(
SELECT roomID FROM reservation WHERE startDate < @EndDate AND endDate > @StartDate
)
Hvad sker der?
I den indre forespørgsel søger jeg på reservationslisten efter reservationer, der i det mindste delvist er inden for den påkrævede tidsramme, og får deres værelses-id'er. Og så, i den ydre forespørgsel, anmoder jeg fra værelsesbordet om alle rum-id'er, der IKKE er angivet, det vil sige, de har ingen reservation, der i det mindste delvist er inden for den påkrævede tidsramme.
@StartDate og @EndDate skal ændres af dig - du skal placere dine variabler der.