SQL内部JOIN与查询

时间:2013-03-11 19:41:10

标签: sql activerecord arel

我正在尝试做类似的事情,但我不确定你是否可以通过内部联接做到这一点:

SELECT "scores".* 
FROM "scores" 
    INNER JOIN "games" ON "games"."id" = "scores"."games_id" 
WHERE 
    "games"."date" >= '2013-02-11 19:30:11.799227' 
AND "scores".value > 350; 

感谢您的帮助。此外,如果您知道如何编写ActiveRecord / arel语句,那么也会提供有用的查询。

我的模特看起来像这样:

class Score < ActiveRecord::Base
  belongs_to :game
  delegates :date, to: game
end

class Game < ActiveRecord::Base
  has_many :scores, dependent: :destroy
end

1 个答案:

答案 0 :(得分:0)

ActiveRecord查询如下所示:

some_date = DateTime.parse('2013-02-11 19:30:11.799227')
score = 350
Score.joins(:game).
      where("games.date >= ? AND scores.value > ?", some_date, score)

这假设您的分数模型中有belongs_to :game