Tôi khá mới mẻ với Rails và có kinh nghiệm cận biên với các ngôn ngữ kiểu SQL.Cách sử dụng WHERE IN trong Rails 3 bằng cách sử dụng MySQL 2?
Tôi đang làm việc trên một dự án 3 Rails sử dụng một MySQL2
tôi có ở đây một câu lệnh SQL generic mà tôi muốn làm việc trên cả hai cơ sở dữ liệu của chúng tôi. Có cách nào để thực hiện điều này thông qua chức năng ActiveRecord không?
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
);
Nói cách khác, tôi đang cố gắng để thực hiện một "WHERE IN" tuyên bố (và để được thẳng thắn, tôi thậm chí không biết những gì một nơi mà trong tuyên bố không có gì, chỉ là câu trả lời này làm những gì tôi cần: ? làm thế nào để (hoặc có thể I) SELECT DISTINCT trên nhiều cột (postgresql)) để cụ thể hơn, tôi phải tăng thêm chức năng ActiveRecord sau để nó làm các truy vấn trên:
def MyRecordFunction
MyRecords.where('org_id=?', self.org_id).order('f4')
end
Cảm ơn bạn.
Một mệnh đề MySQL IN chỉ đơn giản là OR bao hàm. EG: Ở đây, IN ('1', '2', '3') cũng giống như làm. WHERE this = '1' HOẶC this = '2' HOẶC this = '3' http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_in – fyrye