4

ねえ、私はJPAに不慣れで、SQLにかなり慣れていないので、選択クエリを作成する必要があります

する必要がある :

「金額がすべての米ドル支払いの平均値を超えるすべての支払いを選択してください」

私はJPAエンティティを持っています:

@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
private String account;
private double amount;
private String currency;

私はで試しました:

@NamedQuery(name="payByUSD" , query="SELECT x FROM Payment x WHERE x.amount > (SELECT AVG(x.amount)from Payment)")

しかし、次のエラーが発生しました。

- The FROM clause must defined at least one identification variable declaration.
- The right expression is missing from the arithmetic expression.

誰かが私を正しい方向に向けることができますか?

4

1 に答える 1

5

使用する

SELECT x FROM Payment x 
WHERE x.amount > (SELECT AVG(p.amount) from Payment p)

あなたのサブクエリは

SELECT AVG(x.amount) from Payment

、およびxは定義されていません。

于 2012-12-16T13:11:03.340 に答える