ActiveRecord不存在

时间:2010-05-25 22:58:48

标签: activerecord

除了find_by_sql之外,有没有办法在ActiveRecord中使用EXISTS?

我想找到一个很好的方法来找到一对多关系中没有关联的所有记录。

SELECT DISTINCT store_type FROM stores
  WHERE NOT EXISTS (SELECT * FROM cities_stores
                    WHERE cities_stores.store_type = stores.store_type)

1 个答案:

答案 0 :(得分:6)

Store.all(:select => "DISTINCT store_type",
          :conditions => "NOT EXISTS (SELECT * FROM cities_stores WHERE cities_stores.store_type = stores.store_type)")

ActiveRecord将执行与您在上面输入的内容相同的查询。返回的Store实例将具有单个store_type属性。