我有两个临时表,其中my_data列为jsonb类型。表temp2有实际数据可以说
my_data = {
"a": [
{
"b": "abc",
"c": "def",
"id": 1
},
{
"b": "efg",
"c": "ghi",
"id": 2
},
{
"b": "bmc",
"c": "gmc",
"id": 3
}
],
"d": [
{
"b": "xyz",
"c": "amd",
"id": 1
},
{
"b": "bdf",
"c": "klm",
"id": 2
},
{
"b": "bda",
"c": "gdb",
"id": 3
}
]
}
表temp1具有
my_data ={
"a": [
{
"b": "abc",
"c": "def"
},
{
"b": "efg",
"c": "ghi"
},
{
"b": "bmd",
"c": "gmd"
}
],
"d": [
{
"b": "xyz",
"c": "amd"
},
{
"b": "bdf",
"c": "klb"
},
{
"b": "bda",
"c": "gda"
}
]
}
现在,在比较嵌套数组对象中的键“ b”和“ c”后,我现在将temp2.my_data中的填充ID存在到temp1.my_data中。注意比较应该是索引在嵌套数组中的索引
temp1.my_data的最终结果为
{
"a": [
{
"b": "abc",
"c": "def",
"id": 1
},
{
"b": "efg",
"c": "ghi",
"id": 2
},
{
"b": "bmd",
"c": "gmd"
}
],
"d": [
{
"b": "xyz",
"c": "amd",
"id": 1
},
{
"b": "bdf",
"c": "klb"
},
{
"b": "bda",
"c": "gda"
}
]
}
如何使用jsonb_set获得此结果?