Neal L wrote:
> What I'm trying to do is find the total charges during the year for
> each customer by account.  In other words, a function like:

I'm guessing that the most efficient way to accomplish this (that is 
without doing some data caching), would be to let the database handle 
it.

If you had a database view configured something like this:
-----------------------------------------------
customer_charges (DB View)
-----------------------------------------------
select t0.customer_name, sum(t1.amount) as amount
  from customers t0 join charges t1 on t0.id=t1.customer_id
  group by t0.id, t1.account_id
  having year(t1.created_at)=year(current_date());
-----------------------------------------------
Then you could create a model that manages this report data:

CustomerCharge << ActiveRecord::Base
  def readonly?
    true
  end
end

Note: This is all written off of top of my head with absolutely not 
tested.

Another option might be to create a class in Ruby that mimics a database 
view by executing some raw SQL.
-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to