在where子句中的Querydsl情况(Querydsl case when in where clause)

我在querydsl的where子句中查找关于用例的示例。

SELECT column1,column2 FROM viewWhatever WHERE CASE WHEN column1 =='b'THEN account_location =? 当column1 =='m'那么location_area =?

我刚刚开始使用querydsl我无法弄清楚如何在querydsl案例生成器表达式中表示上述查询。 我发现在select子句中使用的示例,但找不到在where子句中使用的很多示例。

Am looking for example on use case when condition in where clause on querydsl.

SELECT column1, column2 FROM viewWhatever WHERE CASE WHEN column1 == 'b' THEN account_location = ? WHEN column1 =='m' THEN location_area = ?

I just recently start using querydsl I can't figure out how to represent above query in querydsl case builder expression. I found examples for use in select clause but couldn't find much for use in where clause.

最满意答案

你真的需要一个CASE语句吗?

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

在QueryDSL中显然可以很容易地表示。

Do you really need a CASE statement?

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

Can obviously be easily represented in QueryDSL.

在where子句中的Querydsl情况(Querydsl case when in where clause)

我在querydsl的where子句中查找关于用例的示例。

SELECT column1,column2 FROM viewWhatever WHERE CASE WHEN column1 =='b'THEN account_location =? 当column1 =='m'那么location_area =?

我刚刚开始使用querydsl我无法弄清楚如何在querydsl案例生成器表达式中表示上述查询。 我发现在select子句中使用的示例,但找不到在where子句中使用的很多示例。

Am looking for example on use case when condition in where clause on querydsl.

SELECT column1, column2 FROM viewWhatever WHERE CASE WHEN column1 == 'b' THEN account_location = ? WHEN column1 =='m' THEN location_area = ?

I just recently start using querydsl I can't figure out how to represent above query in querydsl case builder expression. I found examples for use in select clause but couldn't find much for use in where clause.

最满意答案

你真的需要一个CASE语句吗?

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

在QueryDSL中显然可以很容易地表示。

Do you really need a CASE statement?

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

Can obviously be easily represented in QueryDSL.