我有一个简单的EAV表,我想将其转换为JSON/B并将其插入到一个列中,然后将其添加到实体表中。
这将用作迁移查询。
我的EAV:
记录(id,…)
recinfo(recordid、key、value)
对于记录表中的earch条目,它将为在recinfo表中可以找到的每个键/值创建一个json表示,并作为记录表上的更新发送。
我正在使用postgresql 10.3
最佳答案
以下是我一直在寻找的:
update
record r
set
infos = (
select
json_agg(json_build_object('name',i.name,'value',i.value))
from
recinfos i
where
i.rec_id = r.id
)