mysql - Combine multiple room availability queries into one -
i'm trying optimize database combining queries. keep hitting dead ends while optimizing room availability query.
i have room availability table each records states available number of rooms per date. it's formatted so:
- room_availability_id (pk)
- room_availability_rid (fk_room_id)
- room_availability_date (2011-02-11)
- room_availability_number (number of rooms available)
the trouble getting list of rooms available each of provided days. when use in() so:
where room_availability_date in('2011-02-13','2011-02-14','2011-02-15') , room_availability_number > 0
if 14th has availability 0 still gives me other 2 dates. want room_id when available on 3 dates.
please tell me there way in mysql other querying each date/room/availability combination separately (that done :-( )
i tried sorts of combinations, tried use room_availability_date = (...), tried dirty repeating subqueries no avail.
thank in advance thoughts!
i think can improve on a'r's answer:
select room_availability_rid, count(*) n room_availability_date in ('2011-02-13','2011-02-14','2011-02-15') , room_availability_number > 0 group room_availability_rid having n=3
edit: of course assumes there 1 table entry per room per day. valid assumption?
Comments
Post a Comment