jOOQでこのようなクエリをビルドして実行したいと思います。 exempleについてはjOOQでSELECT EXISTS(サブクエリ)を作成するにはどうすればよいですか?
SELECT EXISTS(subquery)
:
SELECT EXISTS(SELECT 1 FROM icona_etiqueta WHERE pvp IS NULL AND unitat_venda = 'GRAMS')
私はそれをどのように行うことができますか?それはできますか?
jOOQでこのようなクエリをビルドして実行したいと思います。 exempleについてはjOOQでSELECT EXISTS(サブクエリ)を作成するにはどうすればよいですか?
SELECT EXISTS(subquery)
:
SELECT EXISTS(SELECT 1 FROM icona_etiqueta WHERE pvp IS NULL AND unitat_venda = 'GRAMS')
私はそれをどのように行うことができますか?それはできますか?
見つけました。私はselectExists
メソッドを探していて、DSL.exists()
述語コンストラクタで混乱しました。
さらに便利ですfetchExists(subquery)
です。
私の具体的な例は次のように解決されます。直接ブール値を返します
create.fetchExists(
create.selectOne()
.from(ICONA_ETIQUETA)
.where(ICONA_ETIQUETA.PVP.isNull(),
ICONA_ETIQUETA.UNITAT_VENDA.eq('GRAMS'))
);
を。
Your own solutionは、あなたがしたいことに最も便利なアプローチです。より一般的なアプローチは、使用することです:
あなたがDSL.field(Condition)
を使用して
Field
中(
DSL.exists(Select)
によって作成された)
Condition
をラップ
create.select(field(exists(...)))
。
jOOQ 3.9以降、Field<Boolean>
およびCondition
は同じタイプではありません。これは将来、#3867で変更される可能性があります。
SQLを書く方法を知っているユーザーのもう1つのケースですが、サードパーティ製のソフトウェアが途中で取得できますか? –