とにかく、下に行を入れることで、Railsコンソールで結果を取得できます
group = UserGroup.find_by_sql("select user_group_memberships.user_group_id, sum(-bets.amount + bets.amount_paid) as bankroll_net_profit from bets inner join user_group_memberships ON bets.user_id = user_group_memberships.user_id GROUP BY user_group_memberships.user_group_id")
以下の結果が得られます。
-+-----------------------------------+
| user_group_id | bankroll_net_profit |
+---------------+---------------------+
| 1 | 4765 |
| 57 | 1517 |
| 58 | -20 |
| 62 | 1517 |
| 64 | 1517 |
| 66 | 1507 |
| 67 | 995 |
| 82 | 1517 |
-+-----------------------------------+
しかし、groups
変数でアクティブなレコードを取得する必要がありましたが、 Array
(を介してチェックされたgroup.class
)を取得したため、アクティブなレコードで追加の計算を行うことはできません。
Anybuddy は、上記の Mysql クエリのアクティブ レコードを見つけるのに役立ちますか: Model.joins(:another_model) が必要です
協会は以下のとおりです。
class UserGroup < ActiveRecord::Base
has_many :user_group_memberships
has_many :users, :through => :user_group_memberships
class User < ActiveRecord::Base
has_many :user_group_memberships
has_many :user_groups, :through => :user_group_memberships
class Bet < ActiveRecord::Base
belongs_to :user