2016-10-07 8 views
0

Ищем пример в прецеденте, когда условие в where where on querydsl.Querydsl case when in where where

SELECT column1, column2 FROM viewWhatever WHERE CASE WHEN column1 == 'b' THEN account_location =? КОГДА column1 == 'm' THEN location_area =?

Я только недавно начал использовать querydsl. Я не могу понять, как представлять вышеуказанный запрос в выражении builder querydsl. Я нашел примеры для использования в предложении select, но не смог найти многого для использования в where where.

+0

Вы не смотрели официальную документацию? http://www.querydsl.com/static/querydsl/3.1.1/reference/html/ch03.html#d0e1586 –

+0

@AlanHay, который для select clause'i ищет образцы, используя в where clause/predicates. – Ice

ответ

0

Вам действительно нужен оператор CASE?

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

Очевидно, что это может быть легко представлено в QueryDSL.

+0

спасибо за подсказку, я сделал эту альтернативу, несколько часов назад. – Ice