Разверните JSON массив объектов для записи с помощью PostgresQL - PullRequest
2 голосов
/ 10 марта 2020

Я пытаюсь расширить массив объектов в JSON с помощью PostgreSQL.

ТАБЛИЦА КОНТАКТОВ (id int, данные json);

1, {'firstName': 'John', 'lastName': 'Doe', 'addresses': [{'street': '1 Heaven St.', city: 'Wonderland'}, {'street': '3 Hell St.', city: 'Scarycity'}] }
2, {'firstName': 'Shiv', 'lastName': 'Durham', 'addresses': [{'street': '1 Sugar St.', city: 'Sweet City'}] }

И Я хочу включить его в качестве

contact_id|address                                        |
1         |{'street': '1 Heaven St.', city: 'Wonderland'} |
1         |{'street': '3 Hell St.', city: 'Scarycity'}    |
2         |{'street': '1 Sugar St.', city: 'Sweet City'}  |

Я попробовал какую-то встроенную функцию, но мне не удалось получить желаемый результат.

1 Ответ

1 голос
/ 10 марта 2020
select
  id as contact_id,
  json_array_elements(data->'addresses') as address
from contacts;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...