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

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -