【发布时间】:2013-03-11 19:41:09
【问题描述】:
我正在尝试做这样的事情,但我不确定你是否可以通过内部连接来做到这一点:
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
【问题讨论】:
-
SQL 语法很好,应该可以正常工作。你测试了吗?
-
“ActiveRecord/arel”语句是什么意思?
-
@DavidW,他正在谈论与 ruby on rails 一起使用的关系代数查询
-
@rs Doh 我。谢谢...对此无能为力,可悲的是:(
-
请注意,通常最好在
JOIN子句中放置尽可能多的相关关系 - 根据您的数据库,这可能会在INNER JOINs 的情况下自动执行(排序)。除其他外,它使LEFT JOINs 清晰。
标签: sql activerecord arel