By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
Help with an interesting Postgres question: Why isn't an Index Only Scan used on a partition accessed via the parent table?.
WITH mytable AS (
SELECT '{"territory_custom":[{"name_directory":"ЯПОНИЯ","id_ref_directory":38},{"name_directory":"ЯПОН","id_ref_directory":39},{"name_directory":"ЯП","id_ref_directory":40}]}'::jsonb AS mydata
)
SELECT * FROM mytable
mydata |
---|
{"territory_custom": [{"name_directory": "ЯПОНИЯ", "id_ref_directory": 38}, {"name_directory": "ЯПОН", "id_ref_directory": 39}, {"name_directory": "ЯП", "id_ref_directory": 40}]} |
WITH mytable AS (
SELECT '{"territory_custom":[{"name_directory":"ЯПОНИЯ","id_ref_directory":38},{"name_directory":"ЯПОН","id_ref_directory":39},{"name_directory":"ЯП","id_ref_directory":40}]}'::jsonb AS mydata
)
SELECT
jsonb_path_query_array(mydata, '$.territory_custom.id_ref_directory') elems
FROM mytable
elems |
---|
[38, 39, 40] |
WITH mytable AS (
SELECT '{"territory_custom":[{"name_directory":"ЯПОНИЯ","id_ref_directory":38},{"name_directory":"ЯПОН","id_ref_directory":39},{"name_directory":"ЯП","id_ref_directory":40}]}'::jsonb AS mydata
)
SELECT
array_agg(elems::int)
FROM mytable,
jsonb_path_query(mydata, '$.territory_custom.id_ref_directory') elems
array_agg |
---|
{38,39,40} |