在activerecord中,最好没有文字sql,我试图大致做到这一点:
Thing.where(:id => Link.select(:col1).where(subquery1), :id => Link.select(:col2).where(subquery2))
我需要它在子查询之间给我一个 AND,但最后一个子查询会覆盖前面的子查询。
注意:我从每个子查询的链接表中选择不同的列
我已经尝试过这个:
t = Thing.where(:id => Link.where(subquery1))
t.where(:id => Link.where(subquery2))
另请注意子查询的性质意味着我不能将我的 AND 放入单个子查询
有什么方法可以在 ActiveRecord 中做到这一点而不求助于 SQL?
我正在使用 Rails 3 和 PostgreSQL
谢谢!