Postgres:在 select 上将 JSONB 数据添加为现有 JSONB 数据中的新字段

Postgres: Adding JSONB data as new field in existing JSONB data on select

我想将两个 JSONB 数据合并为一个,方法是将一组 JSONB 数据设为一个新字段。

JSONB 数据 1:{'a':'b'}

JSONB 数据 2:{'c':'d', 'e':'f'}

结果:{'a':'b', 'x':{'c':'d', 'e':'f'}}

像这样:

select (i.data || '{'x':u.data}'::jsonb) as data from doc_issue as i, doc_user as u where i.data ->> 'UserId' = u.data ->> 'Id';

我该如何完成?

这是你想要的吗?

select i.data || jsonb_build_object('x', u.data) as data 
from doc_issue as i
inner join doc_user as u on i.data ->> 'UserId' = u.data ->> 'Id'