Mysql 我正设法在明年四月份以最低的价格买到可用的房间
1.对不起,请输入此代码 2.这是我尝试的第二个代码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
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)