小编典典

activerecord等效于SQL'减号'

sql

从另一个减去查询结果的方法是什么?数据库特定的SQL示例为:

SELECT Date FROM Store_Information
MINUS
SELECT Date FROM Internet_Sales

阅读 140

收藏
2021-05-23

共1个答案

小编典典

我将其混合使用-不是解决方案,但可能会对进度有所帮助:

我能想到的最好是使用NOT IN:

StoreInformation.where('date NOT IN (?)', InternetSale.all)

那是Rails 3-Rails 2将是:

StoreInformation.all(:conditions => ['date NOT IN(?)', InternetSale.all])

但是,这两个方法都会首先从internet_sales中选择所有内容;您真正想要的是一个嵌套查询,可以在数据库引擎中完成整个任务。为此,我认为您必须闯入find_by_sql并只提供一个嵌套查询。

显然,这假设您正在使用MySQL!HTH。

2021-05-23