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を単一のサブクエリに入れることができないことに注意してください。
SQLに頼らずにActiveRecordでこれを行う方法はありますか?
Rails3とPostgreSQLを使用しています
ありがとう!