sql - 是否可以使用 SubQuery 而不是自联接重写此 CosmosDb SQL 查询?
问题描述
我在 CosmosDb 中有一组文档,我想对这些文档的嵌套集合执行 SQL 查询,但我一次只查询一个特定文档的数据。
示例文档
{
"id": "d0769c6e-2334-4bb7-ae41-e45a8ac8896c",
"Scores": [
{
"Name": "blabla",
"Score": 10
},
{
"Name": "blabla",
"Score": 30
}
]
}
目前我有以下有效的查询:
SELECT SUM(item.Score)
FROM c
JOIN item IN c.Scores
WHERE c.id = "d0769c6e-2334-4bb7-ae41-e45a8ac8896c" AND item.Name = 'blabla'
我宁愿写这样的查询:
SELECT SUM(row.Score)
FROM row IN (SELECT c.Scores FROM c WHERE c.id = "d0769c6e-2334-4bb7-ae41-e45a8ac8896c")
WHERE row.Name = 'blabla'
但当然它不起作用。您知道查询第二种方式的任何可能方式吗?
谢谢 !!
解决方案
如果这对您有用,您可以尝试使用类似的方法:
SELECT SUM(item.Score)
FROM c
JOIN (SELECT s.Score, s.Name FROM s IN c.Scores ) as item
WHERE item.Name='blabla'
and c.id='d0769c6e-2334-4bb7-ae41-e45a8ac8896c'
推荐阅读
- android - 当我没有进入或离开地理围栏时如何触发某些事情
- wordpress - IE 未加载自定义字体(来自 Divi 主题的 Google 字体和图标字体)
- c# - 面临无法从
..ChromeDriver 84.0.4147.30 的管理员问题禁用了未打包扩展的加载 - r - 如何控制ggrepel段的颜色
- python - 如何在 Django Rest Framework 中记录 400 个响应的更多详细信息?
- sql-server - 如何通过拆分 SQL Server 中的字符串来插入数据
- python - 文本转语音时如何保持标点符号?
- scrapy - 因为它们只是字典,所以scrapy项目的目的是什么?
- r - 如何在存在多个组的单个直方图中绘制多条平均线?
- rust - 如何使用 Rust 使 DMA 工作以更改 PWM 端口的占空比?