[ https://issues.apache.org/jira/browse/CAY-2356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16147375#comment-16147375 ]
Nikita Timofeev commented on CAY-2356: -------------------------------------- Fixed in *4.1* per https://github.com/apache/cayenne/commit/e44f2fab57b4958c805e024dc65b1f11b63df6a5 > EJBQL: Incorrect COUNT() on outer joined table > ----------------------------------------------- > > Key: CAY-2356 > URL: https://issues.apache.org/jira/browse/CAY-2356 > Project: Cayenne > Issue Type: Bug > Components: Core Library > Affects Versions: 4.0.B1, 4.1.M1 > Reporter: Nikita Timofeev > Priority: Minor > > This query: > {code} > EJBQLQuery asc = new EJBQLQuery("select a, count(p) from Artist a LEFT JOIN > a.paintingArray p GROUP BY a order by count(p) DESC"); > {code} > Produces following SQL: > {code:sql} > SELECT > t0.ARTIST_NAME AS ec0_0, > t0.DATE_OF_BIRTH AS ec0_1, > t0.ARTIST_ID AS ec0_2, > COUNT(*) AS sc1 > FROM > ARTIST t0 > LEFT OUTER JOIN PAINTING t1 ON (t0.ARTIST_ID = t1.ARTIST_ID) > GROUP BY t0.ARTIST_NAME, t0.DATE_OF_BIRTH, t0.ARTIST_ID > ORDER BY COUNT(*) > {code} > Note *{{COUNT( * )}}* that gives unexpected result, if there are no paintings > it will return *1* instead of *0*, {{COUNT(t1.PAINTING_ID)}} should be used > instead. -- This message was sent by Atlassian JIRA (v6.4.14#64029)