试图找出我在这里缺少的东西。我有两个表,resort
和accommodations
。试图获得与提供此选项的度假村相关的每晚最昂贵的费用:
SELECT name,resort_id
FROM resort
WHERE resort_id IN ( SELECT MAX(cost_per_night)
FROM accommodations
);
以上返回空白列。
答案 0 :(得分:0)
可以沿着这些方向做点什么:
SELECT name, resort_id
FROM resort
WHERE resort_id IN ( SELECT resort_id
FROM accomodations
WHERE cost_per_night = ( SELECT MAX(cost_per_night)
FROM accommodations
)
)
您的查询发现resort_id
等于价格而非resort_id
等于resort_id
且价格最高。另请注意,可能有多个具有相同最高价格的度假村,因此IN
。否则可以通过使用rownum = 1的desc执行订单。
更新:包括价格:
SELECT r.name, r.resort_id, a.cost_per_night
FROM accomodations a
JOIN resort r ON (a.resort_id = r.resort_id)
WHERE a.cost_per_night = ( SELECT MAX(cost_per_night)
FROM accommodations
)