【问题标题】:Querydsl case when in where clause在where子句中查询dsl案例
【发布时间】:2016-10-07 14:10:51
【问题描述】:

我正在寻找关于 querydsl 上 where 子句中条件的用例的示例。

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

我最近才开始使用 querydsl,我不知道如何在 querydsl 案例构建器表达式中表示上述查询。 我找到了在 select 子句中使用的示例,但在 where 子句中找不到太多使用的示例。

【问题讨论】:

标签: jpa spring-data-jpa querydsl


【解决方案1】:

您真的需要 CASE 语句吗?

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

显然可以在 QueryDSL 中轻松表示。

【讨论】:

  • 感谢您的提示,几小时前我确实做了这个替代方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-26
  • 1970-01-01
  • 2013-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多