首页 > 解决方案 > Postgres:在选择时将 JSONB 数据添加为现有 JSONB 数据中的新字段

问题描述

我想通过使一组 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';

我该如何做到这一点?

标签: postgresqljsonb

解决方案


这是你想要的吗?

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'

推荐阅读