查找选择查询的最大值

时间:2014-04-29 12:05:52

标签: jpa jpql

我是JPA的新开发人员,负责使用JPQL从数据库编写检索记录。以下是我的查询。基本上我试图从表Z中找到最大的field1。

SELECT X.Id,        
     MAX (
        NVL (
           (SELECT field1
              FROM table Z
             WHERE  X.Id = Z.id.Id),'')) field
FROM table1 X, table2 Y
WHERE X.Id = Y.Id
group by X.Id

执行此查询时,我收到如下错误

java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.AggregateNode 
 \-[AGGREGATE] AggregateNode: 'MAX'
\-[METHOD_CALL] MethodNode: '('
   +-[METHOD_NAME] IdentNode: 'NVL' {originalText=NVL}
   \-[EXPR_LIST] SqlNode: 'exprList'

请告知。当我使用普通的sql运行查询时,它工作正常。

1 个答案:

答案 0 :(得分:0)

也许您对''

有疑问
NVL (
       (SELECT field1
          FROM table Z
         WHERE  X.Id = Z.id.Id),'')

尝试这样的事情:

   NVL (
       (SELECT field1
          FROM table Z
         WHERE  X.Id = Z.id.Id),0)