Mysql 我正设法在明年四月份以最低的价格买到可用的房间

Mysql 我正设法在明年四月份以最低的价格买到可用的房间,mysql,Mysql,1.对不起,请输入此代码 2.这是我尝试的第二个代码 SELECT rooms.room_id,rooms.room_number,rooms.room_floor,rooms.hotel_id,rooms.category_id,rooms.room_price , rooms.room_area, MIN(rooms.room_price) AS LEAST price FROM bookings,rooms WHERE bookings.room_id = rooms.room_id A

1.对不起,请输入此代码 2.这是我尝试的第二个代码

SELECT  rooms.room_id,rooms.room_number,rooms.room_floor,rooms.hotel_id,rooms.category_id,rooms.room_price , rooms.room_area, MIN(rooms.room_price) AS LEAST price
FROM bookings,rooms
WHERE bookings.room_id = rooms.room_id
AND bookings.room_id IN (SELECT bookings.room_id FROM bookings WHERE bookings.check_in  BETWEEN '2019-04-00 00:00:00' AND '2019-05-00 00:00:00') 
GROUP BY rooms.room_id,rooms.room_number,rooms.room_floor,rooms.hotel_id,rooms.category_id,rooms.room_price , rooms.room_area
ORDER by
如何得到正确的答案? 这让我困惑,有时给我所有的价值或没有答案

SELECT    rooms.room_id,rooms.room_number,rooms.room_floor,rooms.hotel_id,rooms.category_id,rooms.room_price , rooms.room_area, MIN(rooms.room_price)
FROM bookings,rooms
WHERE bookings.room_id = rooms.room_id
AND  bookings.check_in BETWEEN '2019-04-00 00:00:00' AND '2019-05-00 00:00:00'
AND  bookings.check_out  BETWEEN '2019-04-00 00:00:00' AND '2019-05-00 00:00:00'
AND  bookings.real_check_in  BETWEEN '2019-04-00 00:00:00' AND '2019-05-00 00:00:00'
AND  bookings.real_check_out  BETWEEN '2019-04-00 00:00:00' AND '2019-05-00 00:00:00'
GROUP BY rooms.room_id,rooms.room_number,rooms.room_floor,rooms.hotel_id,rooms.category_id,rooms.room_price , rooms.room_area
我需要正确的答案

为什么我们要这样打呢

CREATE TABLE `rooms` (
`room_id` INT(11) NOT NULL AUTO_INCREMENT,
`room_number` SMALLINT(6) NULL DEFAULT NULL,
`room_floor` TINYINT(4) NULL DEFAULT NULL,
`hotel_id` INT(11) NULL DEFAULT NULL,
`category_id` INT(11) NULL DEFAULT NULL,
`room_price` FLOAT NULL DEFAULT NULL,
`room_area` FLOAT NULL DEFAULT NULL,
PRIMARY KEY (`room_id`),
INDEX `FK_rooms_hotels` (`hotel_id`),
INDEX `FK_rooms_categories` (`category_id`),
CONSTRAINT `FK_rooms_categories` FOREIGN KEY (`category_id`) REFERENCES `categories` (`category_id`),
CONSTRAINT `FK_rooms_hotels` FOREIGN KEY (`hotel_id`) REFERENCES `hotels` (`hotel_id`)
)
COLLATE='ucs2_general_ci'
 ENGINE=InnoDB
  AUTO_INCREMENT=39

)

这是我的第三次尝试,我仍然收到查询警告

      CREATE TABLE `bookings` (
`booking_id` INT(11) NOT NULL AUTO_INCREMENT,
`room_id` INT(11) NULL DEFAULT NULL,
`customer_id` INT(11) NULL DEFAULT NULL,
`check_in` TIMESTAMP NULL DEFAULT NULL,
`check_out` TIMESTAMP NULL DEFAULT NULL,
`real_check_in` TIMESTAMP NULL DEFAULT NULL,
`real_check_out` TIMESTAMP NULL DEFAULT NULL,
PRIMARY KEY (`booking_id`),
INDEX `FK_bookings_rooms` (`room_id`),
CONSTRAINT `FK_bookings_rooms` FOREIGN KEY (`room_id`) REFERENCES `rooms` (`room_id`)
)
 COLLATE='ucs2_general_ci'
 ENGINE=InnoDB
 AUTO_INCREMENT=68
 ;
这是我的第四次尝试

SELECT  
    rooms.room_id, rooms.room_number, rooms.room_floor,
    rooms.hotel_id, rooms.category_id, rooms.room_price, 
    rooms.room_area, MIN(rooms.room_price) 
FROM
    bookings,rooms
WHERE 
    bookings.room_id = rooms.room_id
    AND bookings.check_in >= '2019-04-00 00:00:00' <= '2019-05-00 00:00:00'
    AND bookings.check_out  >= '2019-04-00 00:00:00' <= '2019-05-00 00:00:00'
    AND bookings.real_check_in  >= '2019-04-00 00:00:00' <= '2019-05-00 00:00:00'
    AND bookings.real_check_out >= '2019-04-00 00:00:00' <= '2019-05-00 00:00:00'
GROUP BY 
    rooms.room_id, rooms.room_number, rooms.room_floor, 
    rooms.hotel_id, rooms.category_id, rooms.room_price, rooms.room_area

仅仅用一个不起作用的问题提问就像是以我想去酒店的方式问路。我先右转,然后左转两次。我没到那里,你能帮我吗
 SELECT  r.room_id
     , r.room_number
     , r.room_floor
     , r.hotel_id
     , r.category_id
     , r.room_price 
     , r.room_area
     , MIN(r.room_price) 
FROM bookings b
     , rooms r
 WHERE b.room_id = r.room_id
  AND b.room_id not IN (SELECT bookings.room_id FROM bookings  WHERE '2019-04-00 00:00:00'  <= bookings.check_in and '2019-05-00 00:00:00' >=   bookings.check_out) 
GROUP BY r.room_id
     , r.room_number
     , r.room_floor
     , r.hotel_id
     , r.category_id
     , r.room_price 
     , r.room_area
ORDER BY MIN(r.room_price)