在where子句中查询dsl案例
Posted
技术标签:
【中文标题】在where子句中查询dsl案例【英文标题】:Querydsl case when in where clause 【发布时间】: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 子句中找不到太多使用的示例。
【问题讨论】:
那你没看官方文档? querydsl.com/static/querydsl/3.1.1/reference/html/… @AlanHay 用于选择子句`我正在寻找在 where 子句/谓词中使用的示例。 【参考方案1】:您真的需要 CASE 语句吗?
SELECT
column1, column2
FROM
viewWhatever
WHERE
(column1 == 'b' AND account_location = ?)
OR
(column1 =='m' AND location_area = ?)
显然可以在 QueryDSL 中轻松表示。
【讨论】:
感谢您的提示,几小时前我确实做了这个替代方案。以上是关于在where子句中查询dsl案例的主要内容,如果未能解决你的问题,请参考以下文章
在 WHERE 子句中使用 OR 的慢速 JOIN 查询 - 缺少可能的索引?
016-elasticsearch-Query DSL-查询上下文,过滤上下文match_all
1. 安装Oracle,配置环境 2. 实现查询From子句 3. 实现查询where子句 4. 实现查询order by子句