Sql Rails 3两个字段的和积

Sql Rails 3两个字段的和积,sql,ruby-on-rails,ruby,ruby-on-rails-3,Sql,Ruby On Rails,Ruby,Ruby On Rails 3,我需要计算Rails 3应用程序中两个字段的乘积之和(即,相当于Excel的sumproduct函数)。Rails中是否有一种方法可以帮助实现这一点,如果没有,那么使用自定义sql的Rails代码是什么 例如,一家旅馆有许多房间。房间的属性包括平方英尺(sqft)、数量(该尺寸)和酒店id。我想计算给定酒店中所有房间的总平方英尺。在SQL中,对于Hotel.id=8,我相信下面的语句会起作用: select sum(rooms.sqft * rooms.quantity) as SumSqft

我需要计算Rails 3应用程序中两个字段的乘积之和(即,相当于Excel的sumproduct函数)。Rails中是否有一种方法可以帮助实现这一点,如果没有,那么使用自定义sql的Rails代码是什么

例如,一家旅馆有许多房间。房间的属性包括平方英尺(sqft)、数量(该尺寸)和酒店id。我想计算给定酒店中所有房间的总平方英尺。在SQL中,对于Hotel.id=8,我相信下面的语句会起作用:

select sum(rooms.sqft * rooms.quantity) as SumSqft from rooms inner join hotels on rooms.hotel_id = hotels.id where hotels.id = 8;
是的:


完美的谢谢我想对于当前的酒店表演,我可以用“@hotel.id”代替“8”。
Room.where(hotel_id: 8).sum("sqft * quantity")
def calculate
  @hotel=Hotel.find(params[:id]
  @rooms=Room.all.where(:hotel_id=>@hotel.id)
  sum=0
  @rooms.each do |room|
    sum=sum+room.sqft*room.quantity
  end
  return sum
end