Мне нужна помощь для перечисленных ниже деталей,
Я использую Postgres + Spring-Data-JPA. Кроме того, я использовал тип данных jsonb
для хранения данных.
Я пытаюсь выполнить запрос, но он выдаёт мне следующую ошибку:
ERROR: set-returning functions are not allowed in WHERE
Причина в том, что я добавил условие jsonb
в предложение WHERE
(просьба более подробно ознакомиться с приведенным ниже запросом).
Запрос (я переименовал имя столбца только потому, что скрыл фактическое имя столбца):
select distinct
jsonb_array_elements(initiated_referral_detail->'listOfAttribue')::jsonb
->> 'firstName' as firstName,
jsonb_array_elements(initiated_referral_detail->'listOfAttribue')::jsonb
->> 'lastName' as lastName,
jsonb_array_elements(initiated_referral_detail->'listOfAttribue')::jsonb
->> 'country' as country
from
tale1 table10_
left outer join
table2 table21_
on table10_.end_user_id=table21_.end_user_id
left outer join
table3 table32_
on table10_.manufacturer_id=table32_.manufacturer_id
where
table21_.end_user_uuid=(
?
)
and table21_.is_active=true
and table32_.manufacturer_uuid=(
?
)
and table32_.is_active=true
and table10_.is_active=true
and table32_.is_active=true
and jsonb_array_elements(initiated_referral_detail->'listOfAttribue')::jsonb
->> 'action' = ('PENDING')
order by
jsonb_array_elements(initiated_referral_detail->'listOfAttribue')::jsonb
->> 'firstName',
jsonb_array_elements(initiated_referral_detail->'listOfAttribue')::jsonb
->> 'lastName'
limit ?
Следующая строка в приведенном выше запросе вызывает ошибку:
and jsonb_array_elements(initiated_referral_detail->'listOfAttribue')::jsonb
->> 'action' = ('PENDING')
Может кто-нибудь подсказать мне, как получать данные из внутреннего JSON? Особенно в моем случае у меня есть внутренний список и несколько элементов внутри.