I have two models - Parent
and Params
, where parent has_many params
Currently, my methods looks like (not that it is under Parent class):
def total_sum
params.select(
'params.*, (
SUM(mono_volume_annular) +
SUM(day_volume_annular) +
SUM(night_volume_annular) +
SUM(exclusive_volume_annular)
) AS summed_volume_annular'
).group('params.id').sum(&:summed_volume_annular)
end
How can I improve this SQL query to get rid of .sum(&:summed_volume_annular)
method call?
If I'll try to summarize it without converting :summed_volume_annular
to proc, I'll get this error: ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "summed_volume_annular" does not exist
An interesting note - If I'll try to save the result of this query
params.select('(
SUM(mono_volume_annular) +
SUM(day_volume_annular) +
SUM(night_volume_annular) +
SUM(exclusive_volume_annular)
) AS summed_volume_annular'
)
I will get this object [#<Parameter:0x00000009f1c7d8 id: nil>]
Strange that summed_volume_annular
is absent...