【发布时间】:2019-02-14 17:37:26
【问题描述】:
我的收藏中有两个文档:
{
"ViewAll": true,
"GroupIDs": []
}
和:
{
"ViewAll": false,
"GroupIDs": ["super-admin"]
}
我希望以下查询返回两个文档:
SELECT VALUE c FROM c
JOIN groupIDs in c.GroupIDs
WHERE (c.ViewAll = true OR groupIDs IN("super-admin"))
但是我只取回了第二个文档。
在处理查询时,我注意到如果我排除 WHERE 子句但保留 JOIN,它仍然会将结果集限制为仅具有 GroupID 的结果集
SELECT VALUE c FROM c
JOIN groupIDs in c.GroupIDs
JOIN 是否因为 GroupIDs 数组中没有条目而限制了结果集?有没有办法得到我想要的结果?
【问题讨论】:
-
一些数据库以奇怪的方式处理“空”值。我不精通 azure,但请尝试将
groupIDs IN("super-admin")替换为您的数据库中的(groupIDs is not null and groupIDs IN("super-admin"))
标签: sql azure-cosmosdb