2012-02-06 13 views
4

私はx、y、zの列を持つテーブルAを持っています。 (A.x = 1およびA.y = 4)、(A.x = 2およびA.y = 7)および(A.x = 3およびA.y = 3)の行を数えるクエリを作成したいとします。結果は、上記の基準に対応する3つの整数で構成する必要があります。JPA multiple count

この種のクエリが可能かどうかわかりません。

JPA基準(好ましくは)またはJPQL、または最悪の場合はSQLのサンプルコードが必要です。

答えて

2

はここにあなたの最悪のシナリオです:

SELECT 
    SUM(CASE WHEN a.x = 1 AND a.y = 4 THEN 1 ELSE 0 END) AS Result1, 
    SUM(CASE WHEN a.x = 2 AND a.y = 7 THEN 1 ELSE 0 END) AS Result2, 
    SUM(CASE WHEN a.x = 3 AND a.y = 3 THEN 1 ELSE 0 END) AS Result3 
FROM TableA a 
+0

OK、そう、それはまた、JPQLに可能であるべきことを意味し、SQLで可能です。それで、私はCriteriaの翻訳者を期待するべきです。 :Dありがとう、少なくとも私は何とかそれをすることができることを知っています。 – Dragos

+0

JPQLでこれを行う方法へのリンクは次のとおりです。http://www.jroller.com/agirish/entry/jpa_using_case_and_when – Thilo