ORDER BY will append additional column to the SELECT clause which may 
potentialy cause ORA-00979 error
------------------------------------------------------------------------------------------------------

                 Key: OPENJPA-1819
                 URL: https://issues.apache.org/jira/browse/OPENJPA-1819
             Project: OpenJPA
          Issue Type: Bug
         Environment: OpenJPA 2.1
Oracle 9.2
            Reporter: Azuo Lee


Assuming entity Person and entity Exam has one-to-many association, the 
following JPQL statement:
SELECT p.id r1, p.name r2, sum(e.score) r3 FROM Exam e LEFT JOIN e.person p 
GROUP BY p.id, p.name ORDER BY p.id

will produce the following SQL, which is not executable if the underlining 
database is Oracle 9.2:
SELECT t1.id, t1.name, SUM(t0.score) AS r3, t0.person FROM exams t0, persons t1 
WHERE t0.person = t1.id(+) GROUP BY t1.id, t1.name ORDER BY t0.person ASC

The additional column "t0.person" will cause error ORA-00979: not a GROUP BY 
expression.

The correct SQL should be:
SELECT t1.id, t1.name, SUM(t0.score) AS r3 FROM exams t0, persons t1 WHERE 
t0.person = t1.id(+) GROUP BY t1.id, t1.name ORDER BY t1.id ASC

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to