Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何使用jOOQ创建SELECT EXISTS(子查询)?_Sql_Mariadb_Jooq - Fatal编程技术网

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

Sql 如何使用jOOQ创建SELECT EXISTS(子查询)?,sql,mariadb,jooq,Sql,Mariadb,Jooq,我想用jOOQ构建并执行这样的查询 SELECT EXISTS( subquery ) 例如: SELECT EXISTS(SELECT 1 FROM icona_etiqueta WHERE pvp IS NULL AND unitat_venda = 'GRAMS') 我怎么做?可以吗?找到了。我正在寻找一个selectExists方法,但被DSL.exists()谓词构造函数弄糊涂了 有一个更方便的获取存在(子查询) 我的具体示例如下所示: create.fetchExists(

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

SELECT EXISTS( subquery )
例如:

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

我怎么做?可以吗?

找到了。我正在寻找一个
selectExists
方法,但被
DSL.exists()
谓词构造函数弄糊涂了

有一个更方便的
获取存在(子查询)

我的具体示例如下所示:

create.fetchExists(
        create.selectOne()
              .from(ICONA_ETIQUETA)
              .where(ICONA_ETIQUETA.PVP.isNull(),
                     ICONA_ETIQUETA.UNITAT_VENDA.eq('GRAMS'))
    );
它直接返回一个布尔值。

是实现所需操作的最方便的方法。更一般的方法是使用:

create.select(field(exists(...)))
其中,您使用在
字段
中包装一个
条件
(由创建)


从jOOQ 3.9开始,
字段
条件
不是相同的类型。这在将来可能会发生变化。

另一种情况是,用户知道如何编写SQL,但第三方软件会碍事?是的,但比我见过的任何相关软件都要少。在发现这个问题之前的1.5分钟里,我一直在想“哦,看,我必须再搜索一下关于jOOQ的东西,已经有一段时间了”。