【发布时间】:2017-06-23 09:42:48
【问题描述】:
我有 4 张桌子。我想知道是否有可能通过任何加入获得最低酒店价格。有一个示例数据。
Table: hotels
id name country city phone
1 P Hotel France Paris 055555555
2 C Hotel Portuqal Lisbon 545489485
3 D Hotel ........ ...... ........
4 E Hotel ........ ...... ........
.
.
.
表格:room_types
id name
----------------------------------------------
1 Standart Room
2 Deluxe Room
3 B-Plus
4 Villa
表:hotel_rooms
id hotel_id room_id
----------------------------------------------
1 1 1
2 1 3
3 1 4
4 2 4
5 2 2
6 3 1
7 3 2
8 4 1
表格:价格
id price_pp price_tp discount hotel_rooms_id
----------------------------------------------------------------------------------
1 123.00 323.00 15 1
2 212.34 112.00 24 2
3 12.50 62.00 29 3
4 523.00 323.00 15 4
5 412.34 112.00 24 5
6 62.50 62.00 29 6
.
.
.
.
哪种房型无关紧要,我只需要酒店的最低价格。我想得到这样的结果:
表格:价格
id name country city phone price_pp price_tp discount
---------------------------------------------------------------------------------------------------
1 P Hotel France Paris 055555555 12.50 62.00 29
2 C Hotel Portuqal Lisbon 545489485 412.34 112.00 24
3 D Hotel ........ ...... ........
4 E Hotel
更新。 那是我尝试过的,但结果只显示酒店和 MIN(prices.price_pp) 我还想从价格中获取其他列。
SELECT hotels.*, MIN(prices.price_pp)
FROM hotels
LEFT JOIN hotel_rooms
ON hotels.id = hotel_rooms.hotel_id
LEFT JOIN prices
ON hotel_rooms.id = prices.hotel_rooms_id
GROUP BY hotels.id
【问题讨论】:
-
这闻起来像家庭作业。你试过了吗?
-
你能展示一下你到目前为止所做的尝试吗?
-
您还没有告诉我们如何计算任何给定房间的价格。您的
prices表包含显示价格和折扣的两列。应该如何解释这些列以得出每行(每个房间)的最低价格? -
您写道“我还想从价格中获取其他行”。我想您的意思是“我想从
prices表中获取其他列。” -
@O.Jones 对不起,是价格表中的其他列。