Railsコンソールで作業しています。2 つの異なるテーブルで同じ名前の列の SUM を選択したいと考えています。
これが私のActiveRecordコードです:
Computer.joins(:services, :repairs)
.select("computers.id, SUM(services.cost) as SCOST, SUM(repairs.cost) as RCOST")
.group("computers.id")
これはうまく機能し、次の正しい SQL を返します。
`SELECT computers.id, SUM(services.cost) as SCOST, SUM(repairs.cost) as RCOST
FROM "computers" INNER JOIN "services" ON "services"."computer_id" = "computers"."id"
INNER JOIN "repairs" ON "repairs"."computer_id" = "computers"."id"
GROUP BY computers.id `
しかし、Rails コンソールに次の結果が表示されます。
=> [#<Computer id: 36>, #<Computer id: 32>]
自分の SUM 値にもアクセスできるようにすべきではありませんか? 上記の SQL クエリを postgres で実行したところ、目的の出力が得られました。
どんな助けでも大歓迎です。
ありがとう。