特定のモデルに別モデルのカラムを別名で追加する方法
このようなSQLを使いCompanyに belongs_toである BalanceモデルとBackwardationモデルの同一日時のものをまとめて取得してるのですが、
sql =<<-SQL
SELECT balances.*, backwardations.rate
FROM balances LEFT JOIN backwardations
ON balances.date = backwardations.date AND balances.company_id = backwardations.company_id
WHERE balances.company_id = #{company_id}
SQL
ActiveRecord::Base.connection.select_all(sql).to_hash
できればHashではなくBalanceモデルに擬似的にbackwardation_rateカラムを追加した状態で取得したいと思っています。
ASなどを使ってそのようなことはできますか?
Balance.select文でどうにかならないかも考えましたが、自動的にFROM "balances"が最後に来てしまうため無理そうでした。
BalanceもBackwardationもcompany_idとdateカラムでunique制限をつけています。
DBはPostgresqlを使用しています。