“帮助”;“红宝石”;这个SQL
我只需要一些帮助来完成此SQL:“帮助”;“红宝石”;这个SQL,sql,ruby-on-rails,ruby,Sql,Ruby On Rails,Ruby,我只需要一些帮助来完成此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 类似于以下内容的Ruby SQL: test = Record.sum( :hours ,
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
类似于以下内容的Ruby 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" )
我是Ruby新手,所以任何帮助都会很好旧式变体将是:
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')
我尝试了您的代码并将其更改为:
record=efforce.find(:all,:select=>“users.full\u name,project\u tasks.task\u name,hours”,:joins=>[:user,:project\u task],:group=>“user\u id,project\u tasks.task\u name”)