【发布时间】:2012-02-21 11:03:30
【问题描述】:
SELECT user_id, investments, expenditures
FROM ( SELECT user_id, SUM(amount) investments
FROM transactions
where beneficiary_id is not null
group by user_id) A JOIN ( SELECT beneficiary_id, SUM(amount) expenditures
FROM transactions
where beneficiary_id is not null
group by beneficiary_id) B
ON A.user_id = B.beneficiary_id"
使用 find 方法编写活动记录方法的最佳方法是什么?这里的想法是使用更少的 SQL 和更多的 rails 活动记录方法。我知道这可以用 find_by_sql 来实现,但正在寻找一种更方便的方式来做到这一点。
Transactions 是一个具有以下结构的模型
txndate:日期时间 用户 ID:整数 beneficiary_id:整数 数量:十进制,:precision => 14,:scale => 2
任何帮助将不胜感激。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 activerecord