查询以获取关系数据库中每个酒店的每间客房的最低价格

时间:2017-11-23 19:46:29

标签: mysql relational-database

我有一个基于为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;

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

任何人都可以告诉我如何编写查询,我将能够返回房产(即酒店)房间的最低价格,其中每个酒店只有一排而不是返回多行对于每个房产?

1 个答案:

答案 0 :(得分:0)

尝试以下查询:

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
                                                  )
;

希望它有所帮助!