У меня есть два запроса, которые просматривают отдельные таблицы базы данных и находят элементы из столбца JSONB в каждой таблице в формате ["tag1", "tag2", "tag3"] и т. д. Целью запросов является заполнение списка для предиктивного раскрывающегося списка, т. е. если список содержит «собаку» и тип пользователя «d», должна быть возвращена «собака». Каждый из этих запросов работает индивидуально, и я могу легко объединить их в один запрос JOOQ?
final Field<String> value = field(name("A", "value"), String.class);
final Result<Record1<String>> res1 = sql.dsl()
.selectDistinct(value)
.from(CAMPAIGN,lateral(table("jsonb_array_elements_text({0})", CAMPAIGN.TAGS)).as("A"))
.where(CAMPAIGN.STORE_KEY.equal(campaign.getStoreKey()))
.and(CAMPAIGN.CAMPAIGN_KEY.notEqual(campaignKey))
.and(value.like(search + "%%"))
.fetch();
final Result<Record1<String>> res2 = sql.dsl()
.selectDistinct(value)
.from(STOREFRONT, lateral(table("jsonb_array_elements_text({0})", STOREFRONT.TAGS)).as("A"))
.where(STOREFRONT.STORE_KEY.equal(campaign.getStoreKey()))
.and(value.like(search + "%%")).fetch();