gpt4 book ai didi

json - 在 postgres 查询中用另一个更新 json 项

转载 作者:行者123 更新时间:2023-11-29 12:21:34 26 4
gpt4 key购买 nike

我使用的是最新的 postgres 9.3,它对 json 有很好的支持,并且还可以查询 json 字段中的特定键。但是我在更新 json 字段时遇到了问题。

基本上,我的 json 列是一个包含某些字段频率的字典,现在由于这些字段是动态的,我将它们放在一个 json 结构中。现在我在更新查询中遇到麻烦,我只想添加该 json dict 的相应字段的频率。

因此,如果我有这样的东西 - {"a":10, "b":2},并且在更新传入项目时是 {"a":2,"c":3},我的新行应该有 {"a":12, "b":2, "c":3}

感谢您的帮助。

最佳答案

你可以在 PostgreSQL 中做这样的事情:

update Test1 as t set
data = (
select
('{' || string_agg(a.data, ',') || '}')::json
from (
select '"' || a.key || '" :' || sum(a.value::int)::text as data
from (
select * from json_each_text(t.data)
union all
select * from json_each_text('{"a":2,"c":3}'::json) -- incoming
) as a
group by a.key
) as a
)

但可能更简单的方法是编写 Python(或其他 PL)函数。

关于json - 在 postgres 查询中用另一个更新 json 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19562562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com