如何解决选择城市价格最低的房间
| 我有3张桌子的房间,酒店,城市,如何选择一个最低价的房间,每个城市的房价为hotel_id
price | hotel_id | city_id
10 | 1 | 1
13 | 4 | 2
44 | 7 | 3
...
SELECT MIN(price) price,hotel_id,city_id FROM (
SELECT MIN(room_price1) price,city_id
FROM Hotel
JOIN Room USING(hotel_id)
JOIN City USING(city_id)
LEFT JOIN Service_hotel_option USING (hotel_id)
WHERE room_price1 > 0
GROUP BY hotel_id
ORDER BY price ASC) t
GROUP BY city_id
ORDER by city_name,price
但我不确定。
解决方法
怎么样:
SELECT price,hotel_id,city_id
FROM hotel
INNER JOIN room AS r1 USING (hotel_id)
WHERE NOT EXISTS (SELECT 1 FROM room AS r2
WHERE r2.hotel_id = r1.hotel_id AND r2.price < r1.price)
如果没有找到价格更低的房间,这只会从hotel INNER JOIN room
中选择行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。