【发布时间】:2022-01-14 04:22:31
【问题描述】:
我有下表:
create table tickets (id integer, key text, value text);
insert into tickets values
(1, 'CUSTOMER_ID', 3242),
(1, 'AMOUNT', 49),
(1, 'MOVIE', 'TITANIC');
预期输出:
{"CUSTOMER_ID": "3242", "AMOUNT": "49", "MOVIE": "TITANIC"}
如果表中的数据将存储在单独的列中,那么简单的 json_build_object('name', column_name) 就可以了,但是在这里我有不同数量的行(并且每个 ID 的行数可能不同)
所以这个不能如我所愿
select json_agg(jsonb_build_object(key, value)) from tickets where id = 1;
https://dbfiddle.uk/?rdbms=postgres_12&fiddle=a2140d9d9ecf7adcec13cbb1d86215c8
【问题讨论】:
-
使用
json_object_agg代替json_build_object参见manual
标签: arrays json postgresql