【问题标题】:Query to obtain the lowest price per room per hotel in a relational database查询以获取关系数据库中每间酒店每间客房的最低价格
【发布时间】:2017-11-23 19:46:28
【问题描述】:

我有一个基于为 uni 项目设置的酒店预订网站的关系数据库模型,但是我被一个查询难住了。

据我所知:

SELECT DISTINCT
    property.property_id,
    property_name,
    property_description,
    star_rating,
    room_base_price
FROM
    property
INNER JOIN rooms ON property.property_id = rooms.property_id;

问题是我的数据库中列出了每个属性的几个房间。在这个查询中,我想选择每家酒店价格最低的房间。我目前的做法是显示每间房产的每间客房及其单独的价格。

谁能告诉我如何编写一个查询,我将能够返回物业(即酒店)中房间的最低价格,其中每家酒店只有一行,而不是返回多行每个属性?

【问题讨论】:

标签: mysql relational-database


【解决方案1】:

尝试以下查询:

SELECT DISTINCT
    property.property_id,
    property_name,
    property_description,
    star_rating,
    room_base_price
FROM
    property
INNER JOIN rooms ON property.property_id = rooms.property_id;
where (rooms.property_id,rooms.room_base_price) in
                                                  (select property_id,min(room_base_price) 
                                                   from rooms
                                                   group by property_id
                                                  )
;

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 2015-11-05
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多