It sounds like you are doing a correlated subquery -- take a look at DBIx::Class::Helper::ResultSet::CorrelateRelationship (thank you so much frew!)
On Wed, Jan 27, 2021 at 5:50 AM Veesh Goldman <rabbive...@gmail.com> wrote: > have you tried ->as_subselect_rs? That should be what you're looking for. > Just make sure to define your "columns" on the subselect, or else it will > try to get all the cols from the original table. > > On Wed, Jan 27, 2021 at 1:22 PM Robert Rothenberg <rob...@gmail.com> > wrote: > >> I have an aggregated query >> >> $rs->search_rs( undef, { >> columns => [ >> "me.id", >> { total => \ "SUM(me.val)" } >> ], >> group_by => [ "me.id" ], >> } ); >> >> >> I would like to join the results with another table, but that requires >> adding the columns to the group by clause. >> >> It's faster to do something like >> >> SELECT a.*, y.* from (select id, sum(val) from x group by id) a join >> y on a.id=y.x_id >> >> Is there a way in DBIC to do that, without creating a virtual result >> source? >> >> >> _______________________________________________ >> List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class >> IRC: irc.perl.org#dbix-class >> SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/ >> Searchable Archive: >> http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk > > _______________________________________________ > List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class > IRC: irc.perl.org#dbix-class > SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/ > Searchable Archive: > http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk
_______________________________________________ List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class IRC: irc.perl.org#dbix-class SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/ Searchable Archive: http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk