2010-08-07 77 views
4

從另一個減去查詢結果的方式是什麼?數據庫特定的SQL的例子是:activerecord相當於SQL'減'

SELECT Date FROM Store_Information 
MINUS 
SELECT Date FROM Internet_Sales 
+2

IIRC:'MINUS'是Oracle; 'EXCEPT'是ANSI – 2010-08-07 01:57:48

回答

3

我會扔這個混進去 - 不是一個解決方案,但可能與進步有所幫助:

我能想到的最好的是未使用:

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

這是Rails 3中 - 軌道2將是:

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

但是這兩個將首先選擇一切從internet_sales;你真正想要的是嵌套查詢來完成數據庫引擎中的所有事情。爲此,我認爲你必須闖入find_by_sql並給出一個嵌套查詢。

顯然這假設你正在使用MySQL! HTH。

+0

我認爲這裏有趣的問題是從另一個減去一個ActiveRecord集 - 後查詢 – 2012-01-03 23:00:40