2

私の基準APIクエリでは、テーブルの3つの列をクエリする次のクエリが機能します。

cq.multiselect(root.get( "point")。get( "id")、root.get( "player")。get( "userid")、root.get( "amount"));

しかし、次のクエリを使用して列量の合計が必要な場合は、SQLエラーが発生します。クエリは

cq.multiselect(root.get( "point")。get( "id")、root.get( "player")。get( "userid")、cb.sum(root.get( "amount"))) ;

私が得ているエラーはです。

{"id": "6"、 "result":null、 "error": "\ r \ n内部例外:com.sap.dbtech.jdbc.exceptions.jdbc40.SQLSyntaxErrorException:[-8017](at 8):列グループ列である必要があります:ID \ r \ nエラーコード:-8017 \ r \ n

私はこれで何時間も立ち往生しているので、これを手伝ってください。ありがとう

4

1 に答える 1

1

このメッセージは、クエリにgroupby句が必要であることを示しています。select句のすべての列(集計関数の結果である列を除く)は、groupby句に含まれている必要があります。

criteriaQuery.groupBy(root.get("point").get("id"), 
                      root.get("player").get("userid")) 
于 2013-03-25T18:41:30.453 に答える