For a booking system I have a table with rooms, arrival and departure.
Example data:
id | room | arrival | departure
---+------+------------+-----------
1 | 1 | 2011-03-12 | 2011-03-14
2 | 1 | 2011-03-08 | 2011-03-09
3 | 1 | 2011-03-19 | 2011-03-20
4 | 2 | 2011-03-22 | 2011-03-30
5 | 2 | 2011-03-19 | 2011-03-22
My question is now: if I have a new booking (2011-03-10
to 2011-03-12
), how can I check which rooms are free?
Output for this example should be room 1
and 2
.
You could also use the
BETWEEN
comparison operator for this purpose. In this case you would do something like this:Here is a query that will show the NOT-FREE rooms for a date span:
You can use this with
to find the FREE rooms