需要合并我的单个 jsonb 列的所有行。
例如:我的 jsonb 列的行如下所示。
我的输入数据是(2行):
{"room": ["101"],"equipments": ["thermometer"]}
{"room": ["101","102"], "equipments": ["stethescope"]}
运行此查询时,
select (jsonb_each(jsonbcolumn)).*
from table group by key, value
我得到以下输出,
key | value
equipments | ["stethescope"]
equipments | ["thermometer"]
room | ["101","102"]
room | ["101"]
如果我尝试使用 jsonb_object_agg 按键添加值,jsonb 会消除第一个值并仅保留第二个值。
{"room": ["101","102"],"equipments": ["stethescope"]}
如果我尝试使用 json_object_agg,我会得到重复值
{ "room" : ["101"], "equipments" : ["thermometer"], "room" : ["101", "102"], "equipments" : ["stethescope"] }
我的预期输出是
{"room": ["101","102"], "equipments":["stethescope", "thermometer"]}
在一行中。
尝试了网上几乎所有的解决方案。这是我尝试过的几个链接。