2013-03-29 55 views
0

我對Rails很陌生,並且對SQL類型的語言有一定的經驗。如何在Rails 3中使用WHERE IN,可以跨數據庫系統工作?

我正在開發一個Rails 3項目,其中我的測試版產品和項目經理的產品版本使用兩種不同的數據庫系統(我使用MySQL但我不確定他使用什麼)。

我在這裏有一個通用的SQL語句,我想在我們的數據庫上工作。有沒有辦法通過ActiveRecord功能來做到這一點?

SELECT * FROM MyRecords 
WHERE (f1, f2, f3, f4) IN (
    SELECT f1, f2, f3, f4 
    FROM MyRecords 
    GROUP BY f1, f2, f3, f4 
    HAVING count(*) = 1 
); 

換句話說,我想執行「其中」語句(並坦率地說,我甚至不知道凡在聲明中所做的,只是這個答案做什麼,我需要: How do I (or can I) SELECT DISTINCT on multiple columns?) 更具體地講,我有,以便它上面的查詢,以增加以下功能的ActiveRecord:

def MyRecordFunction 
    MyRecords.where('org_id=?', self.org_id).order('f4') 
    end 

謝謝。

回答

相關問題