10
我有以下型號:導軌 - 加入多個表
class Company < ActiveRecord::Base
has_many :price_movements
has_many :goods_movements
end
class PriceMovement < ActiveRecord::Base
belongs_to :company
end
class GoodsMovement < ActiveRecord::Base
belongs_to :company
end
我試圖聯合起來一切成的ActiveRecord形式的SQL,但我不知道如何去這樣做,因爲我對ROR比較陌生。
select * from companies c
inner join price_movements p
on c.id = p.company_id
inner join goods_movements g
on c.id = g.company_id
and g.date = p.date
對我來說關鍵的問題是goods_movement date == price_movement date的第二個鏈接。 有人可以諮詢有沒有辦法做到這一點?
只是一個額外的問題說明:在效率方面,因爲這兩個表是巨大的,首先,這ActiveRecord的查詢需要8000MS相比SQL在3000毫秒內完成。有什麼方法可以在ActiveRecord中稍微加快一點嗎?我在後者使用ActiveRecord :: Base.connection.execute()。 – mingsheng