在续集中过滤语句优先级(特别是连接)

时间:2012-05-07 15:13:49

标签: mysql ruby join sequel

DB [:表1] .filter(condition_1).right_join(DB [:表2] .filter(condition_2), join_condition).SQL

右连接的结果上应用“filter(condition_1)” 希望在应用此过滤器后发生右连接 DB [:表1]。 两者都给我带来了截然不同的结果。

我怎样才能做到这一点?我只是想不出办法 这(我也无法在文档中找到任何内容)。

1 个答案:

答案 0 :(得分:1)

您想要Dataset#from_self

DB[:Table1].
  filter(condition_1).
  from_self.
  right_join(
    DB[:Table2].filter(condition_2),
    join_condition
  ).
  sql