2012-02-21 29 views
1
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和更多的轨道活动记录方法。我知道这可以用find_by_sql来实现,但是寻找更多的方法来实现这一点。Rails ActiveRecord查询 - 在模型中实现查询的最佳方式

交易是具有以下结构

txndate模型:日期时间 USER_ID:整数 beneficiary_id:整数 量:小数,:精密=> 14:刻度=> 2

任何帮助将不胜感激。

回答