[Dbix-class] Count + having
Gerhard Jungwirth
gjungwirth at sipwise.com
Fri Jan 13 16:11:51 GMT 2017
One think to have in mind would be from the documentation:
"The "as" <https://metacpan.org/pod/DBIx::Class::ResultSet#as> attribute
has *nothing to do* with the SQL-side identifier aliasing AS."
instead you should write
|||select => ['me.noabt', { count| |=> ||'abojrnabt.noabt'||, ||-as| |=>
||'count_abo'| |} ] (untested) |
On 2017-01-13 15:35, RAPPAZ Francois wrote:
> I'm trying to use count and having
> I have
> Abo a table of rows describing orders (primary key: noabt)
> abojrnabt a relationship between this Abo table a Jrnabt table of 2 columns (noabt, nofm)
>
> I would like to know if a specific order has 2 or more corresponding rows in Jrnabt
>
> I'm trying
>
> $schema->resultset('Abo')->search_rs(
> {
> 'me.noabt' => $value,
> },
> { select => ['me.noabt', {count => 'abojrnabt.noabt'}],
> as => [qw/noabt count_abo/],
> join => ['abojrnabt'],
> group_by => ['noabt'],
> having => [ { 'count_abo' => { '>' => 1 } } ],
> },
> );
> But this fails with
> *** DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::mysql::st execute failed:
> Unknown column 'count_abo' in 'having clause' [for Statement
> "SELECT me.noabt FROM abo me WHERE ( me.noabt = ? ) GROUP BY noabt HAVING count_abo > ?" with ParamValues: 0="919", 1=1] at ...
>
> Thanks for any suggestion
>
> François
>
> _______________________________________________
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scsys.co.uk/pipermail/dbix-class/attachments/20170113/e6429fec/attachment.htm>
More information about the DBIx-Class
mailing list