【发布时间】:2017-07-20 08:52:53
【问题描述】:
我正在尝试创建一个在线客房预订系统。
数据库的其中一个表应该保存预订。它有一个自动编号字段、客户数据字段、两个用于到达和离开的日期字段,以及一个用于预订房间数量的数字字段。
搜索页面将到达和离开日期提交到结果页面,然后应该告诉客户在此期间有多少房间可用。这就是一切都出错的地方。我只是无法准确计算在请求的期限内已预订的房间数量。
来宾 |到达|出发 |预订 |room_id 史密斯 | 2017-06-20 | 2017-06-22 | 3 |1 琼斯 | 2017-06-20 | 2017-06-21 | 2 |1 棕色 | 2017-06-22 | 2017-06-23 | 3 |2 白色 | 2017-06-15 | 2017-06-20 | 4 |1房间id来自
编号 |类型 |计数 |hotelid 1 |单人间 | 5 | 1 2 |豪华房 | 8 | 1如果 roomid 1 有 5 个房间,2 有 8 个房间,我想要这样的结果。
可用日期 2017-06-20 | 0 | 1 2017-06-20 | 8 | 2 2017-06-21 | 2 | 1 2017-06-21 | 8 | 2 2017-06-22 | 5 | 1 2017-06-22 | 5 | 2我也在使用日历表。 请帮助我找到解决方案
【问题讨论】:
-
84 有什么用?
84 - COALESCE(SUM('booking_cnt'),0) -
刚刚输入的房间ID为1的房间数
-
您为什么不重新设计您的 Room-Table 并为每个 Room 分配一个唯一的 ID?然后您可以为特定房间进行所有预订,查询会更容易。
标签: mysql