Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] SUM in HAVING clause

Try going to www.eclipse.org/eclipselink and clicking on "Bugs" on the left side of the page.

Else:

Use the "New" option at the top of the following page and choose "RT" and the "EclipseLink":

https://bugs.eclipse.org/bugs/query.cgi

-Tom

Jakob Braeuchi wrote:
hi tom,

unfortunately the link to the bug report http://www.eclipse.org/eclipselink/bugs is dead.

jakob

2008/7/15, Tom Ware <tom.ware@xxxxxxxxxx <mailto:tom.ware@xxxxxxxxxx>>:

    Hi Jakob,

     Here's what is says in the JPA Spec (section 4.7)

    "The HAVING clause must specify search conditions over the grouping
    items or aggregate functions that apply to grouping items."

     As I mentioned in an earlier email, I can definitely see the
    argument for loosening those restrictions.  Please feel free to
    enter this bug in bugzilla so we can address it.


    -Tom

    Jakob Braeuchi wrote:

        hi tom,

        i think it does not make sense to group by sum(p.betrag).

        the sample is like an order (kauf) with it's items (posten). and
        i want
        to find all orders with orderdate between :datVon and :datBis
        and the sum of the amount of the items between the two amounts.
        is there a better way to build the query ?

        this query runs without problems on hibernate-jpa and open-jpa.

        jakob


        Tom Ware schrieb:

            Hi Jakob,

             The exception you are seeing is indicating that you can
            only use HAVING with things that are described in the GROUP
            BY section of the query.

            i.e. To use SUM(p.betrag) in the having clause, either
            SUM(p.betrag) or p.betrag must appear in the GROUP BY clause.

            -Tom

            Jakob Braeuchi wrote:

                hi,

                i just downloaded the new eclipselinks 1.0. afaik it's
                based on oracle toplink and it still has problems with
                SUM in the HAVING clause.

                the following query:

                select new ch.brj.ekv.type.KaufShort(k.id <http://k.id>,
                k.datum, k.einkaufer.name <http://k.einkaufer.name>,
                SUM(p.betrag))
                from Kauf k, in(k.posten) p
                where k.datum between :datVon and :datBis
                group by k.id <http://k.id>, k.datum, k.einkaufer.name
                <http://k.einkaufer.name>
                having SUM(p.betrag) between :betrVon and :betrBis
                order by k.datum asc

                results in an error with this message:

                "The HAVING clause must specify search conditions over
                the grouping items or aggregate functions that apply to
                grouping items."

                the only item i use in the having-clause is the
                aggregate SUM(p.betrag).
                could you please tell me what's wrong here ? does it
                violate the JPQL spec ?

                btw this query works with hibernate.

                jakob

                ps: i have posted the same question in the oracle
                toplink forums in 2006 and 2007 (google for toplink
                having sum)
                _______________________________________________
                eclipselink-users mailing list
                eclipselink-users@xxxxxxxxxxx
                <mailto:eclipselink-users@xxxxxxxxxxx>
                https://dev.eclipse.org/mailman/listinfo/eclipselink-users

            _______________________________________________
            eclipselink-users mailing list
            eclipselink-users@xxxxxxxxxxx
            <mailto:eclipselink-users@xxxxxxxxxxx>
            https://dev.eclipse.org/mailman/listinfo/eclipselink-users

        _______________________________________________
        eclipselink-users mailing list
        eclipselink-users@xxxxxxxxxxx <mailto:eclipselink-users@xxxxxxxxxxx>
        https://dev.eclipse.org/mailman/listinfo/eclipselink-users

    _______________________________________________
    eclipselink-users mailing list
    eclipselink-users@xxxxxxxxxxx <mailto:eclipselink-users@xxxxxxxxxxx>
    https://dev.eclipse.org/mailman/listinfo/eclipselink-users



------------------------------------------------------------------------

_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users


Back to the top