【发布时间】:2020-02-27 17:48:32
【问题描述】:
我正在构建 JOOQ 查询的 WHERE 子句。某些条件使用 EXISTS,我想将子查询作为普通 SQL 提供,因为它们是用 JOOQ 表达的冗长的。例如。
select 1 from jsonb_array_elements(resource->'name') as t1,
jsonb_array_elements_text(t1.value->'given') as t2
where t2.value like ?
然而 DSL.exists() 只接受 Select 类型作为参数,无论我使用哪种 DSL.select...() 方法,它都会用另一个 select 包装我的 SQL sn-p。
DSL.exists(DSL.selectFrom(DSL.sql(...)))
查询将是这样的:
... where exists (select * from (select 1 from ...
有没有办法避免不必要的包装选择?
【问题讨论】:
标签: postgresql jooq