SQL预订酒店房间查询

时间:2016-01-10 13:06:44

标签: php sql

我想用PHP创建一个预订酒店的房间。

我的表格是:roomsreservations

rooms
room_id | seats

我在这张桌子上有4条记录。 2x 2个座位的房间和2个4个座位的房间。

reservation
reservation_id | room_id | from_time | to_time 

我想在任何时候选择免费房间。

我的查询没有考虑每隔一个房间。

SELECT * 
FROM `rooms`
LEFT JOIN `reservation` ON `rooms.room_id` =`reservation.room_id`
WHERE
    `seats` = 2 
    AND '01/01/2016'BETWEEN `reservation.from_time` AND `reservation.to_time` 
   or '11/02/2016' BETWEEN `reservation.from_time` AND `reservation.to_time`

1 个答案:

答案 0 :(得分:1)

在保留名称的字段周围使用反引号,并在where子句中的条件周围使用大括号

SELECT * 
    FROM `rooms` r
    left outer join `reservation` rv on r.`room_id`=rv.`room_id`
    where `seats`=2 
      AND (
        '01/01/2016'BETWEEN rv.`from` AND rv.`to` 
        or 
        '11/02/2016' BETWEEN rv.`from` AND rv.`to`
        )