Моя версия базы данных postgres: 9.4.4. и у меня есть таблица с такой структурой;
CREATE TABLE product_cust
(
productid character(2),
data jsonb,
)
У меня есть такие записи в столбце «данные»;
{"productid":"01","cust": [
{"cell": ["0000xxx0", "0000xxx1"], "name": "John", "email": ["[email protected]"], "custtype": "c"},
{"cell": ["0000xxx2", "0000xxx3"], "name": "Smith", "email": ["[email protected]"], "custtype": "c"}
]}
Мне нужно извлечь все записи для "ячейки". Ожидаемая запись будет
["0000xxx0", "0000xxx1","0000xxx2", "0000xxx3"]
или для "электронной почты" ["[email protected]","[email protected]"]
Моим лучшим усилием ниже был двухэтапный процесс, и он не будет масштабироваться для x без «нестандартных» объектов;
select (data::json#>'{cust,0}')::json#>'{cell}' from product_cust; //return "0000xxx0", "0000xxx1"
select (data::json#>'{cust,1}')::json#>'{cell}' from product_cust; //return "0000xxx2", "0000xxx3"
Буду очень признателен, если меня направят в правильном направлении