1

私は冬眠するのが初めてです。次のように、休止状態のSQLクエリでhavingキーワードを使用したい:

 select from Store where storeName like 'a%' having productCount >1

ここで、Store は store テーブルにマッピングされ、storeName は store テーブルの store_name にマッピングされ、productCount は store テーブルの product_count にマッピングされます。

すべてのマッピングは正常に機能しています。しかし、このクエリを実行すると、次のエラーが返されます。

 org.hibernate.hql.ast.QuerySyntaxException: unexpected token: having near line 1, column 43.

それで、誰かがこの問題を解決するのを手伝ってくれますか?

4

2 に答える 2

2

とのみHAVING併用できますGROUP BY。GROUP BY なしの HAVING は意味がありません。あなたの例では、GROUP BY 句がありません。

おそらくあなたはこれを意味します(行を数えたい場合)

from Store where storeName like 'a%' group by storeName having count(*) >1

またはこれ (マップされたメンバー変数名の列がある場合 productCount)

from Store where storeName like 'a%' and productCount >1

(あなたの例ではPSは -fromの代わりに使用する方が良いですselectが、それはあなたのエラーとは何の関係もありません。)

于 2012-11-07T12:52:59.673 に答える
0

あなたは持っていることができず、両方がどちらかになるべき場所

 from Store where storeName like 'a%' and productCount >1
于 2012-11-07T11:22:41.210 に答える