2016-10-07 31 views
0

where case in where querydslの条件で使用例を探しています。Querydsl case where where節

SELECT欄1、欄2 FROMビューWHERE CASE WHEN column1 == 'b' THEN account_location =? WHEN column1 == 'm' THEN location_area =?

私は最近querydslの使用を開始します。私はquerydslケースビルダーの式で上記のクエリをどのように表現するかを理解できません。 私はselect句で使用する例を見つけましたが、where句ではあまり使用できませんでした。

+0

あなたは正式な文書を見ていませんでしたか? http://www.querydsl.com/static/querydsl/3.1.1/reference/html/ch03.html#d0e1586 –

+0

@AlanHayはselect句のためのものですwherei節/述語を使ってサンプルを探しています。 – Ice

答えて

0

本当にCASE文が必要ですか?

SELECT 
    column1, column2 
FROM 
    viewWhatever 
WHERE 
    (column1 == 'b' AND account_location = ?) 
OR 
    (column1 =='m' AND location_area = ?) 

明らかにQueryDSLで簡単に表現できます。

+0

チップのおかげで、私は数時間前にこの代替案をやった。 – Ice