Rails’e yeni geliyorum ve SQL-tipi dillerle marjinal deneyimim var. Bir MySQL2MySQL 2 kullanarak Rails 3 projesinde WHERE IN nasıl kullanılır?
kullanarak Rails 3 proje üzerinde çalışıyorum
Burada bizim veritabanlarının İKİ üzerinde çalışmak istediğiniz bir genel SQL deyimi var. Bunu yalnızca ActiveRecord işlevselliği ile yapmanın bir yolu var mı? Başka bir deyişle
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
);
, bu cevap ihtiyacım olanı yapar sadece, bir "IN" deyimini yürütmek için (ve açıkçası, ben bile bir WHERE IN deyimi ne yaptığını bilmiyorum çalışıyorum: ?
def MyRecordFunction
MyRecords.where('org_id=?', self.org_id).order('f4')
end
teşekkür ederiz: daha spesifik olmak gerekirse nasıl (ya da ben yapabilirsiniz) birden çok sütun (postgresql) üzerinde SELECT DISTINCT yok), ben yukarıdaki sorgu yapar, böylece aşağıdaki ActiveRecord işlevi artırmamız gerek.
MySQL IN yan tümcesi tamamen kapsayıcı bir OR'dir. EG: Bu IN ('1', '2', '3') NEDEN ile aynı. NEREDE = '1' VEYA bu = '2' VEYA bu = '3' http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_in – fyrye