1
jueq를 사용하여 명령 줄에서 DSLContext 쿼리로 작성 및 테스트 한 쿼리를 변환하려고하는데 문제가 발생했습니다. 아래 쿼리는 like 매개 변수와 일치하는 태그 목록을 JSONB 열 "tags"가있는 테이블 "캠페인"의 와일드 카드로 반환하기위한 것입니다. 이 열은 다음과 같은 방식으로 서식 값이 :PostgreSQL 쿼리를 DSLContext로 변환 할 때의 문제
[ "개", "고양이", "토끼"]
select distinct A.value
from campaign T, LATERAL jsonb_array_elements_text(T.tags) A
where A.value LIKE 't%'
나는 다음과 같은 방법으로 DSLContext이를 만들려고하고
하지만 난 얻을 "ERROR : AND의 인수는 집합을 반환하지 않아야합니다."오류. 누구든지이 문제를 해결하고 내 PostgreSQL 쿼리 및 내 DSL 쿼리에서 동일한 결과를 생성하기 위해 내가 할 수있는 것을 볼 수 있습니까?
final Field<String> tagField = field("jsonb_array_elements_text(tags)", String.class);
final Table<Record1<String>> lateral =
lateral(sql.dsl().select(a).from(CAMPAIGN)).asTable();
final Result<Record1<String>> tag = sql.dsl()
.select(tagField)
.from(CAMPAIGN, lateral)
.where(tagField.like("t"))
.fetch();
감사합니다! 그게 효과가있는 것처럼 보입니다. 너는 생명의 은인이야. – thurmc