activerecord 相当于 SQL '减号'

2024-03-28

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

SELECT Date FROM Store_Information
MINUS
SELECT Date FROM Internet_Sales 

我将把它加入到混合中 - 不是解决方案,但可能有助于进展:

我能想到的最好的方法是使用 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。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

activerecord 相当于 SQL '减号' 的相关文章

随机推荐