小编Rob*_*vin的帖子

内部联接上的Rails ActiveRecord子查询

我正在努力使用Rails的ActiveRecord查询接口来复制具有内部联接子查询的查询.我将如何复制以下内容:

SELECT ass.name, COUNT(DISTINCT a.question_id) AS 
  answered_questions, tq.total_questions
  FROM assessments AS ass
  INNER JOIN  (SELECT ass.id, COUNT(q.id) AS total_questions FROM                         
    questions AS q INNER JOIN assessments AS ass ON ass.id=q.assessment_id 
    GROUP BY 
    ass.id) as tq ON tq.id=ass.id
  INNER JOIN questions AS q ON q.assessment_id=ass.id
  INNER JOIN answers AS a ON a.assessment_id=ass.id AND a.question_id=q.id
  INNER JOIN org_assesments AS oa ON ass.id=oa.assessment_id
  INNER JOIN users AS u ON oa.org_id=u.org_id AND       
    a.user_id=u.id
  WHERE  u.id=1
  GROUP BY ass.name, tq.total_questions
  ORDER BY ass.created_at DESC
  LIMIT …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails subquery

2
推荐指数
1
解决办法
2486
查看次数

标签 统计

activerecord ×1

ruby-on-rails ×1

subquery ×1