如何根据另一个 avg(query) 的结果在 SQL 中进行查询

how to make a query in SQL from the result of another avg(query)

我想知道是否有人可以提供帮助,我是 SQL 的新人,我正在尝试这样做。

我有以下3个tables/columns

Bookings(roomID,bookingID,guestID) 
Room(rooCost,roomID) 
Guests(name,lname ext)

我想我们可以让客人 table 独自完成这项任务。 所以本质上我需要从不同的 table/column 组合中提取 avg(roomID) 以及这个特定房间的费用。

请原谅我下面的伪代码:)

现在,我想知道

    avg room(Booking.roomID) rented by all guests and its related cost(Room.roomCost)

所以我猜是这样的:

query the avg(booking.roomID) (btw this would give me an int 10)
then
query the cost of room(10) from Room.roomCost

我试了这么多组合!,太不可思议了!!我想一旦我接近那里,但我从 20 行 table.??

得到了 +400 行响应

感谢任何帮助。 非常感谢

如果您想获得房间明智的平均费用,您可以使用以下查询:

select roomid, avg(roocost) from room
group by roomid

如果您想获得任何客人租用房间的平均值,请使用以下查询:

select roomid, avg(roocost) from room
where roomid in (select roomid from bookings)
group by roomid

计算客房平均费用:

   select guestid,roomid, avg(roocost) from room r inner join booking b
   on r.roomid=b.roomid
   group by guestid,roomid

计算客人房间平均费用(带客人姓名):

   select name guestname,guestid,roomid, avg(roocost) from room r inner join booking b
   on r.roomid=b.roomid
   inner join guests g on g.guestid=b.guestid 
   group by name,guestid,roomid