【发布时间】:2017-09-08 06:01:50
【问题描述】:
请帮忙!
我需要将下面的这些查询子句合并为一个。
Foo.where('bar_id IS NULL')
Foo.joins(:bar).where('bar.daily_budget > bar.daily_cost')
当joins(:bar) in 子句时,bar_id IS NULL 记录将被过滤。
像下面这样组合没那么简单,这个bar_id IS NULL会被过滤掉。
Foo.joins(:bar).where('bar.daily_budget > bar.daily_cost').where('bar_id IS NULL')
我想要的结果更像
bar_id is null or (bar_id is not null AND bars.daily_budget > bars.daily_cost)
Foo 结果需要 bar_id 为空,bars.daily_budget > bar.daily_cost 如果 bar 同时存在。
【问题讨论】:
标签: mysql sql ruby-on-rails ruby-on-rails-4