PostgreSQL: Как выполнить запрос на выборку для столбца json, который содержит массив или массивы - PullRequest
0 голосов
/ 24 апреля 2020

Если я запускаю следующий запрос:

select headers from database_name.schema_name.table;

В результате получается массив JSON, подобный этому:

enter image description here

Как мне запросить PostgreSQL 12, чтобы вернуть только узлы "От"?

Ожидаемый результат:

*From*
Me
Him
His

1 Ответ

1 голос
/ 25 апреля 2020

Вам необходимо удалить массив и затем получить доступ к элементам по индексу:

select x.h ->> 1 as "From"
from t
  cross join jsonb_array_elements(t.headers) as x(h)
where x.h ->> 0 = 'From'  

Онлайн пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...