programing

jOOQ를 사용하여 SELECT EXISTES(서브쿼리)를 작성하려면 어떻게 해야 합니까?

javaba 2022. 11. 25. 21:15
반응형

jOOQ를 사용하여 SELECT EXISTES(서브쿼리)를 작성하려면 어떻게 해야 합니까?

저는 jOOQ로 이와 같은 쿼리를 구축하여 실행하고 싶습니다.

SELECT EXISTS( subquery )

예:

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

어떻게 해야 하죠?할 수 있을까?

찾았다.제가 찾고 있던 것은selectExistsmethod와 method에 의해 혼란스러워졌다.DSL.exists()술어 컨스트럭터

훨씬 더 편리한 것이 있다.fetchExists(subquery).

구체적인 예는 다음과 같이 해결됩니다.

create.fetchExists(
        create.selectOne()
              .from(ICONA_ETIQUETA)
              .where(ICONA_ETIQUETA.PVP.isNull(),
                     ICONA_ETIQUETA.UNITAT_VENDA.eq('GRAMS'))
    );

부울을 직접 반환합니다.

하고 싶은 일에 대한 가장 편리한 접근법은, 독자적인 솔루션입니다.보다 일반적인 접근방식은 다음과 같습니다.

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

포장을 하는 곳Condition(에 의해 작성)에 의해Field를 사용합니다.

jOOQ 3.9에서는Field<Boolean>그리고.Condition같은 타입이 아닙니다.이것은 #3867에서 향후 변경될 수 있습니다.

언급URL : https://stackoverflow.com/questions/42221544/how-can-i-create-a-select-exists-subquery-with-jooq

반응형