Как в postgresql найти все значения по неполному ключу jsonb?
Не получается написать запрос в postgresql для поиска всех ключей которые имеют одинаковое окончание в jsonb-колонке. например у меня есть структура в которой есть ключи с "%_id": { "type": "1", "type_id": "2", "subtype": "3", "subtype_id": "4", "new_id": "5", } нужно отобрать записи в которых есть значения с "%_id"
Ответы (1 шт):
Автор решения: Andrei Odegov
→ Ссылка
С помощью jsonb_each.
with
j(jb) as (
values
('{ "type": "1", "type_id": "2", "subtype": "3", "subtype_id": "4", "new_id": "5" }'::jsonb)
)
select
key, value
from
j,
jsonb_each(j.jb) as jbe
where
key like '%\_id' escape '\'
;
Результат:
+------------+-------+
| key | value |
+------------+-------+
| new_id | "5" |
| type_id | "2" |
| subtype_id | "4" |
+------------+-------+