私は Rails の初心者で、SQL 型言語の経験はほとんどありません。
Rails 3 プロジェクトに取り組んでおり、製品のテスト バージョンとプロジェクト マネージャーの製品バージョンが 2 つの異なるデータベース システムを使用しています (私は 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
);
言い換えれば、私は「WHERE IN」ステートメントを実行しようとしています (率直に言って、私は WHERE IN ステートメントが何をするのかさえ知りません。ただ、この答えが私が必要としているものを実行するということだけです。 ) 複数の列で SELECT DISTINCT? ) より具体的に言うと、上記のクエリを実行できるように、次の ActiveRecord 関数を拡張する必要があります。
def MyRecordFunction
MyRecords.where('org_id=?', self.org_id).order('f4')
end
ありがとうございました。