2011-09-08 58 views
0

我只是需要一些幫助來完成把這個SQL:幫助「紅寶石fying」這個SQL

SELECT us.name, pt.task, sum(hours) 
    FROM records 
    INNER JOIN project_tasks pt ON records.task_id = pt.id 
    INNER JOIN users us ON records.user_id = us.id 
    GROUP BY user_id, task 

到紅寶石SQL與此類似:

test = Record.sum(:hours , 
         :joins => :project_task, 
         :joins => :user, 
         :conditions => {""}) 

香港專業教育學院得到這個遠遠高於但即時通訊在解決條件時遇到困難。 我得到了上述從SQL轉換成這樣:

test = Record.select("name, task, sum(hours)").joins(:project_task).joins(:user).group("user_id, task") 

即時通訊新紅寶石所以任何幫助將是巨大的

回答

0

舊風格的變體將是:

Record.find(:all, 
      :select => 'name, task, sum(hours)', 
      :joins => 'INNER JOIN project_tasks pt ON records.task_id = pt.id INNER JOIN users us ON records.user_id = us.id', 
      :group => 'user_id, task') 
+0

我想你的代碼,將其改爲:'record = Effort.find(:all, :select =>「users.full_name,project_tasks.task_name,hours」, :joins => [:user,:project_task], :group = >「user_id,project_tasks.task_name」) – SD1990