私はRubyonRailsから始めたばかりで、もう少し複雑なクエリについて質問があります。これまで、Railsガイドを見ながら簡単なクエリを実行してきましたが、非常にうまく機能しました。
現在、データベースからいくつかのIDを取得しようとしています。これらのIDを使用して、実際のオブジェクトを取得し、それらを使用して何かを実行します。それらを取得することは、単純なObject.findメソッドよりも少し複雑です。
これが私のクエリがどのように見えるかです:
select * from quotas q, requests r
where q.id=r.quota_id
and q.status=3
and r.text is not null
and q.id in
(
select A.id from (
select max(id) as id, name
from quotas
group by name) A
)
order by q.created_at desc
limit 1000;
これにより、SQLマネージャーからこのクエリを実行するときに1000個のIDが得られます。そして、最初にIDのリストを取得してから、IDでオブジェクトを見つけることを考えていました。
このクエリを使用してこれらのオブジェクトを直接取得する方法はありますか?IDルックアップを回避しますか?私はあなたがこのようなクエリを実行できることをグーグルで検索しました:
ActiveRecord::Base.connection.execute(query);