如何使用jOOQ创建SELECT EXISTS(子查询)?

时间:2017-02-14 08:50:20

标签: sql mariadb jooq

我想用jOOQ构建和执行这样的查询。

SELECT EXISTS( subquery )

例如:

SELECT EXISTS(SELECT 1 FROM icona_etiqueta WHERE pvp IS NULL AND unitat_venda = 'GRAMS')

我该怎么办?可以吗?

2 个答案:

答案 0 :(得分:6)

找到它。我正在寻找一个failed SSH方法,并被selectExists谓词构造函数搞糊涂了。

有一个更方便的DSL.exists()

我的具体示例如下解决:

fetchExists(subquery)

直接返回一个布尔值。

答案 1 :(得分:2)

Your own solution是您想要做的最方便的方法。更通用的方法是使用:

create.select(field(exists(...)))

使用DSL.exists(Select)Condition(由DSL.field(Condition)创建)包裹在Field中的位置。

自jOOQ 3.9起,Field<Boolean>Condition的类型不同。 #3867可能会在以后发生变化。