特定のモデルに別モデルのカラムを別名で追加する方法
このような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
を使用しています。