请帮助查询房间的可用性

时间:2014-01-13 07:57:44

标签: mysql sql

我希望开发一个会议室预订系统。

到目前为止,我已将数据库设计如下。

间:

  1. ID
  2. room_desc
  3. 时期:

    • ID
    • period_desc

    保留:

    • ID
    • ROOM_ID
    • reservation_date
    • start_period_id
    • end_period_id

    进行预订时,系统会记下用户预留的start_period_idend_period_id

    当用户想要进行新的预订时,他/她将指定他/她想要的日期和开始结束的时间段,系统应该给他/她一个列表在指定时间段内没有预约的房间时间。

    我提出了一些SQL,但它对某些circumstance没有用,所以我猜,它仍然是错误的。

    SQL Fiddle

    请帮助SQL查询房间的可用性。

1 个答案:

答案 0 :(得分:1)

检查一下:

http://sqlfiddle.com/#!2/d07965/20

使用此查询。你唯一缺少的是平等条件。 :

select * 
from rooms A 
  left join reservations B
on A.id = B.room_id 
and B.reservation_date = '2014-01-11'
and B.start_period_id <= 11 and B.end_period_id >= 11
where B.room_id is null;

此致 曼西