このようなSQLを使いCompanybelongs_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"が最後に来てしまうため無理そうでした。

BalanceBackwardationcompany_iddateカラムでunique制限をつけています。
DBはPostgresqlを使用しています。