我有两个数据表:
tbroom_capacity:roomtype,quantity_room,note
创建表tbroom\_capacity ( id int(10) NOT NULL‘0“,roomtype varchar(30)整理utf8_bin默认NULL,quantity\_room int(20)默认NULL,note varchar(50)整理utf8_bin默认值空,主键(id) ) ENGINE=InnoDB默认CHARSET=utf8 COLLATE=utf8_bin数据:https://dl.dropboxusercontent.com/u/50542216/1.png
tbbooking:guestid,roomtypeid,quantity_room_booking,startDate,endDate
创建表tbbooking ( guestid int(20)默认空,roomtypeid varchar(20)排序utf8_bin默认空,quantity\_room\_booking int(20)默认空,startDate date默认值NULL,endDate date默认值NULL,id int(11) NOT NULL '0',主键(id) ) ENGINE=InnoDB默认CHARSET=utf8 COLLATE=utf8_bin数据:
https://dl.dropboxusercontent.com/u/50542216/2.png
我想计算出每种房间类型在两次约会之间的剩余房间数。
举个例子:
共15间,3种类型:标准10间,高级2间,贵宾3间
我试着用这个来检索全部不可用的房间:
SELECT sum(quantity_room_booking) FROM tbbooking
where DATE_ADD(endDate,INTERVAL -1 DAY) >= '2013-05-26'
and startDate <= '2013-05-28' GROUP BY roomtypeid但结果是:
其结果应该是:
发布于 2013-05-29 09:41:18
您可以再添加一个布尔列,例如“预订”,并使用该列值查询值。
示例:
从tbbooking中选择sum(quantity_room_booking),其中DATE_ADD(endDate,间隔1天) >= '2013-05-26‘和startDate <= '2013-05-28’,是按房间类型的booked=true组。
我希望这能帮你弄到房间的数量。
https://stackoverflow.com/questions/16750960
复制相似问题