gpt4 book ai didi

sql - cosmos db查询与空数组的自连接

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

我想从 cosmos db azure 获取记录。有以下两个条件-

SELECT p.name, p.id
FROM Product p join grp in p.groups
where grp.name = 'abc' or ARRAY_LENGTH(grp) = 0

第一部分是给我无条件的结果,即(文档 1)。但我也想要那些在 p.groups 中不包含任何记录的记录,即(文档 2)。

我的数据:

文档 1-

"id": "123",
"name": "Test Name",
"groups": [
{
"name": "abc" }
]

文档 2-

"id": "1234",
"name": "Test Name Blank",
"groups": []

预期输出:

[
{
"name": "Test Name",
"id": "123"
},
{
"name": "Test Name Blank",
"id": "1234"
},
]

最佳答案

您可以使用以下sql:

SELECT c.id,c.name from c where ARRAY_LENGTH(c.groups) =0 or ARRAY_CONTAINS(c.groups, {"name": "abc"}, true)

输出结果:

enter image description here

希望对您有帮助。

关于sql - cosmos db查询与空数组的自连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49994511/

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