У меня есть база данных PostgreSQL 9.4.5. Там в таблице itemtable
с колонкой JSONB называется data
, который содержит наборы информации, как так (много материала раздел для краткости):SELECT/Querying "in" JSON-массивы
{ "items": [
{ "id": 158597 },
{ "id": 156300 },
(...)
] }
Теперь я хочу, чтобы получить список всех id
с в этих наборах предметов - неофициально можно сказать SELECT id FROM items FROM data FROM itemtable
. Я только успел сделать это с помощью подзапроса, который явно неоптимальный:
SELECT idlist->>'id' FROM (
SELECT json_array_elements(data::json->'items') AS idlist FROM itemtable
) AS necessary_subquery_name
Как я могу сделать это менее запутанным?
Обратите внимание, что мне нужно будет запустить это в SquirrelSQL, поэтому вам необходимо сделать снимок ::json
.