Tag: left join

向ON子句添加参数的任何可能方法都包括在rails上的左连接?

我有一个如此巨大的复杂查询: @objects = Object.joins({ x: :y }).includes( [:s, { x: { y: :z } }, { l: :m },:q, :w, { important_thing: [:h, :v, :c,:l, :b, { :k [:u, :a] }] } ]).where(conditions).order(“x.foo, x.bar”) 然后我想显示所有Objects和仅在两个日期之间创建的Important_things事件。 如果我把它放在那里我没有获得所有Objects子句,只有在知情日期之间具有Important_things Objects 。 使用原始sql的解决方案是这样的: select * from objects left join important_things on important_things.object_id = objets.id and important_things.created_at between ‘x’ and […]

多个左连接 – 怎么样?

我有一个在Heroku运行的Rails应用程序,我正在尝试计算用户的排名(位置)到高分榜。 该应用程序是用户互相下注并且可以开始下注(创建选项)的地方,或者他们可以对已经创建的选项下注(通过下注)。 我有以下SQL,它应该根据他们在Choices和Bets上的总奖金给我一系列用户..但它给了我一些错误的总胜利,我认为问题出在Left Joins中,因为如果我重写SQL到只包含选择或赌注表然后我工作得很好.. 任何有关如何重写SQL以正常工作的指针:) SELECT users.id, sum(COALESCE(bets.profitloss, 0) + COALESCE(choices.profitloss, 0)) as total_pl FROM users LEFT JOIN bets ON bets.user_id = users.id LEFT JOIN choices ON choices.user_id = users.id GROUP BY users.id ORDER BY total_pl DESC 结果: +—————+ | id | total_pl | +—————+ | 1 | 830 | | 4 | 200 | […]