我需要能够检查用户给出的日期范围是否可用。我的数据库中有一个名为的表booked
,其中包含开始日期、结束日期以及在此期间已预订的房间数量。
假设我的booked
表如下所示:
room_id | start | end | amount_of_rooms_booked
1 | 2012-12-12 | 2012-12-15 | 2
1 | 2012-12-13 | 2012-12-16 | 3
1 | 2012-12-18 | 2012-12-19 | 1
如果 1 总共有 8 个房间,并且用户在和room_id
之间要求这个房间,是否可以进行查询,检查每天预订的房间是否不超过 8 个。2012-12-10
2012-12-20
SUM
我可以这样做的另一种方法是单独存储每一天,并使用这样的booked
表格:
room_id | start | amount_of_rooms_booked
1 | 2012-12-12 | 2
1 | 2012-12-13 | 5
1 | 2012-12-14 | 5
1 | 2012-12-15 | 3
1 | 2012-12-18 | 1
这种方式会在数据库中使用更多空间,但可能会更容易。我应该做什么?如果第一个想法我将如何进行查询?还有其他更好的方法来实现我想要做的事情吗?