0

フィールドを持つ次のクラス構造 FlowerDAO があります (Hibernate を使用してマップされます):

  • ID

  • 単価

  • 名前

  • その色の最小単価を持つ各色の花を取得する hql クエリを作成するにはどうすればよいですか?

私はこれを試しましたが、うまくいきません

from FlowerDAO as f where f.unitPrice<= (select min(f2.unitPrice) from FlowerDAO as f2 where f2.color=f.color)
group by f.color
4

1 に答える 1

2

問題は、単一の値を一連の結果と比較することだと思います。<=を'in'に置き換えてみてください。そうすると、クエリは次のようになります。

from FlowerDAO as f 
  where f.unitPrice in 
    (select min(f2.unitPrice) from FlowerDAO as f2 where f2.color=f.color)

また、「group by」を最後から削除しました。これは、各色に対して1つの結果しか提供されないためです。質問では、花について言及しています。あなたが使用したいかもしれません

order by f.color

代わりは?

于 2009-01-28T15:21:39.823 に答える