1
選擇的房間,我有3個表室,酒店,城市,我怎麼能選擇每個城市以最小的價格上城
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, hotel_id, 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
一個房間用最少的價格和它的hotel_id
,但我不知道。
我在這裏對架構進行了一些推論,因此您可能需要調整您如何檢查房間是否位於同一家酒店,或者您要調低房間價格。重要的部分是'哪裏不存在(更便宜的房間)' – VoteyDisciple 2011-04-13 13:50:39
我需要一個城市的房間。這個查詢返回每個酒店的最低房價?沒有城市 此查詢到相同的選擇 MIN(價格),HOTEL_ID,city_id從酒店 \t JOIN的房間內使用(HOTEL_ID) GROUP BY HOTEL_ID – eugenes 2011-04-13 13:56:18
因此,加入到城市了。就像我說的那樣,無論你最終在「WHERE NOT EXISTS」中選擇哪一個符合你所期望的「較低價格」的定義。 – VoteyDisciple 2011-04-13 13:59:27