私は次のクラスを持っています:
class Product < ActiveRecord::Base
has_one :total_purchase
end
class TotalPurchase < ActiveRecord::Base
belongs_to :product
end
私のテーブルには次の列があります(わかりやすくするために大部分を省略しています)。
Product
id | title | end_date | price | discount
TotalPurchase
id | product_id | amount
多数の製品に同じproducts.title、products.end_date、totalpurchases.amountがあり、特定の日付の間にそれらすべてを識別したいと思います。私は現在、それらを識別するために次のSQLクエリを使用しています。
Product.find_by_sql("select products.title, products.end_date, total_purchases.amount from products left join total_purchases on products.id = total_purchases.product_id where products.end_date > '2012-08-26 23:00:00' and productss.end_date < '2012-09-02 22:59:59' group by products.end_date, products.title, total_purchases.amount having count(*) > 1")
find_by_sqlを使用するのではなく、上記をRailsクエリとしてどのように記述しますか?