Попытка обернуть мою голову вокруг postgresql 9.4 jsonb и хотела бы помочь выяснить, как это сделать.PostgreSQL 9.4 expand jsonb int array в таблицу с номерами строк
Учитывая следующий пример jsonb:
‘{“name1” : value1, “name2” : value2, “name3” : [int1, int2, int3] }’::jsonb AS table1.column1
Требуются: Возвращение «name3» массив только в виде таблицы с возвратной подписью
TABLE(var_name varchar, var_value int, var_row_num int)
Таким образом, полученные данные будут выглядеть следующим образом :
(‘name3’, int1, 1)
(‘name3’, int2, 2)
(‘name3’, int3, 3)
Предположим, что массив может быть любой длины, кроме нуля, и 'name3' является гарантией чтобы существовать.
Это работает для json, но не для jsonb. Это должно быть SELECT 'name3', json_array_elements ((column1 -> 'name3') :: json) FROM table1; – Neil
Он также не получает номера строк массива. – Neil