gpt4 book ai didi

json - 如何从SQLITE UNION查询中获取单个JSON对象?

转载 作者:行者123 更新时间:2023-12-03 18:42:33 27 4
gpt4 key购买 nike

我可以从SQLITE JSON1扩展中获得UNION结果,但是会导致两个JSON对象,即两个“ Result”对象。如何从SQLITE查询中获取单个JSON对象?

查询:

SELECT json_object('Result', 
json_array(
json_object('ID',
json_group_array(id),
'Data',
json_group_array(data)
)
) FROM table1

UNION

SELECT json_object('Result',
json_array(
json_object('timestamp',
json_group_array(ts),
'name',
json_group_array(name)
)
) FROM table2;


我得到的是:

{
"Result":
[{
"id":[1,2,3],
"data":[10,20,30]
}]
}
{
"Result":
[{
"timestamp":[1200,1230,1300,1330,1400],
"name":[Ada,Bella,Candy,Dolly,Ella]
}]
}


我希望的是:

{
"Result":
[{
"id":[1,2,3],
"data":[10,20,30],
"timestamp":[1200,1230,1300,1330,1400],
"name":[Ada,Bella,Candy,Dolly,Ella]
}]
}

最佳答案

您可以使用子查询来实现:

SELECT
JSON_OBJECT('Result',
JSON_ARRAY(
JSON_OBJECT('id',
(SELECT JSON_GROUP_ARRAY(id) FROM table1),
'data',
(SELECT JSON_GROUP_ARRAY(data) FROM table1),
'timestamp',
(SELECT JSON_GROUP_ARRAY(ts) FROM table2),
'name',
(SELECT JSON_GROUP_ARRAY(name) FROM table2)
)
)
);

关于json - 如何从SQLITE UNION查询中获取单个JSON对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55154999/

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