I'm trying to generate a report with a top level that is grouped.  It
appears from previous threads that the best solution is to create a
view since there is no way to specify Group By (:group) in AS's find_
methods.  That works to some level.

But this fails if I need to winnow down the records BEFORE the group
by.

i.e.  SELECT * FROM info GROUP BY type

works fine.  But what I really want is:
   SELECT * FROM info WHERE user_id = current_user.id  GROUP BY type

current_user.id is dynamic and in a stored procedure would be a
parameter.

If I had control of the find method, this should work fine since
the :conditions => {user_id = current_user.id}
would be added to the SQL and be executed BEFORE the group by by the
database engine.

But, in a view, I would have to write:
   create view 'testView'  => "SELECT * FROM info GROUP BY type"

Presuming that there are many records of the same 'type' from
different 'users', the user_id
value in that view is indeterminate, so I can't use it as a
condition.  If my view were to be:
 "SELECT * FROM info GROUP BY user_id, type"

Then I could filter out the user_id's I want, but I'd then be left
with multiple rows for each 'type'.
(That is, all the remaining users.)


So, the real question: Is there ANY way to add a :group clause to the
AS search?  Or allow me to
substitute in my own SQL for the search or does anyone have some
solution that I'm missing?
(And is there a reason that AS does NOT allow :group?  i.e. is there a
fundamental reason this shouldn't work or is it just an implementation
issue of
too many things that need doing?

Thanks in advance!

Joel
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"ActiveScaffold : Ruby on Rails plugin" 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/activescaffold?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to