On Tue, 2009-08-18 at 19:15 +0430, Behzad wrote: > Dear list, > e-Greetings! > > I'm faced with an interesting and challenging problem. > > Consider a database, designed for a hotel. > At any given time, each room has a different status: It's Busy or Reserved, > or Free. > > It's easy to retrieve number of Free rooms at the current time. > But how can I count the number of rooms that were busy during the last week > ? > > I would appreciate if you take a brief moment of your time and share your > opinion. > > Thank you in advance, > -b Keep a table that lists all the rooms along with their current status Keep another table that has these fields: * room_id (the id from above table) * status (enumerated value - 'busy','reserved') * start_date * end_date Then you perform your query using a join of these two tables, within a particular date range. I've left out 'free' from the second table because there's no point updating the table for a period if a room is not being used. You could also have start_date and end_date as datetime fields, as every hotel i've ever been in has a set time for check-in and another for check-out. Thanks, Ash http://www.ashleysheridan.co.uk -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php