Postgresql для чтения полных данных как один JSON - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть таблица names с двумя столбцами id и name. Я хочу прочитать все данные как один объект json как

{ "id1Value": "name1", "id2Value": "name2" }

Имя таблицы Имена : столбцы id и name

Я хочу использовать любую из функций json в postgres для получения данных в этом формате

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Звучит так, как будто вы ищете jsonb_object_agg():

select jsonb_object_agg(id::text, name)
from names;

Со следующими данными испытаний:

create table names (id integer, name text);
insert into names values (1, 'Arthur'), (2, 'Zaphod'), (3, 'Marvin');

Запрос возвращает:

jsonb_object_agg                             
---------------------------------------------
{"1": "Arthur", "2": "Zaphod", "3": "Marvin"}
0 голосов
/ 06 ноября 2018

демо: дб <> скрипка

SELECT json_object_agg(id, name) FROM names

агрегаты Postgres JSON

json_object_agg агрегирует данные двух столбцов так, как вы ожидаете

Sample

| id |    name |
|----|---------|
|  1 |     Alf |
|  2 |   Bruce |
|  3 | Charlie |

Результат

{ "1" : "Alf", "2" : "Bruce", "3" : "Charlie" }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...