表关系和字段的图像
我很难根据另一个表中的平均值对查询进行排序。我有一个带有hotelid、hotelname、pricepernight、leftcoordinate和topcordinate的tblhotels表,还有一个带有hotelid和hotelrating的tblratings表(从不同用户/多个评级中从1到10排列)。
我想我的查询显示所有酒店的价格(从tblhotels)是在一个给定的范围内(在lowervalue和uppervalue之间)显示,然后按他们的评级tblratings排序。
SELECT tblRatings.HotelID
, tblHotels.HotelName
, LeftCoordinate
, TopCoordinate
, AVG(HotelRating) AS Rating
FROM tblRatings, tblHotels
WHERE ( SELECT HotelID
FROM tblHotels
WHERE PricePerNight BETWEEN LowerValue AND UpperValue) =
tblRatings.HotelID
GROUP BY tblRatings.HotelID
ORDER BY AVG(HotelRating) DESC
SELECT tblRatings.HotelID
, HotelName
, LeftCoordinate
, TopCoordinate
, AVG(HotelRating) AS Rating
FROM tblHotels, tblRatings
WHERE (PricePerNight BETWEEN LowerValue AND UpperValue) AND (tblHotels.HotelID = tblRatings.HotelID)
GROUP BY tblRatings.HotelID
ORDER BY AVG(HotelRating) DESC
我尝试过子查询和相关表查询,但都显示错误“hotelname不是聚合函数的一部分”
我在网上寻找解决方案,但没有成功:(
1条答案
按热度按时间6uxekuva1#
基本上你需要更多的东西来分组。。。