我曾尝试在 Microsoft Commos DB 中执行以下 NoSQL 语句,但没有成功
I have tried executing the following NoSQL statement in Microsoft Commos DB but it didn't work
这里是开发环境:SpringBoot,Microsoft Azure Cosmos DB,Java等。
SQL是:
SELECT * FROM A WHERE A.UnitNumber = "FN8KB1H" AND A.reportTime =
(SELECT MAX(A.reportTime) FROM A WHERE A.UnitNumber = "FN8KB1H")
当我运行这个SQL时,它确实无一例外地执行了return,但什么也没有,就像这个“[]”。预期的 return 值是一个项目,像这样:
{"id":1, "UnitNumber": "FN8KB1H", "reportTime": "1234567890"}
官方文档太难understand.What 我知道是"It does not support uncorrelated subqueries"。我怎样才能 select 预期的 return 值?
SELECT * FROM A WHERE A.UnitNumber = "FN8KB1H" AND A.reportTime =
(SELECT MAX(A.reportTime) FROM A WHERE A.UnitNumber = "FN8KB1H")
CosmosDB 查询不支持不相关的子查询,子查询只能引用父集合中的项目。例如:
SELECT TOP 10
c.id,
MaxNutritionValue
FROM c
JOIN (SELECT VALUE Max(n.nutritionValue) FROM n IN c.nutrients) MaxNutritionValue
返回您的要求,请尝试以下sql:
SELECT TOP 1 c.id,c.UnitNumber FROM c where c.UnitNumber = "FN8KB1H" ORDER BY c.reportTime DESC
这里是开发环境:SpringBoot,Microsoft Azure Cosmos DB,Java等。
SQL是:
SELECT * FROM A WHERE A.UnitNumber = "FN8KB1H" AND A.reportTime =
(SELECT MAX(A.reportTime) FROM A WHERE A.UnitNumber = "FN8KB1H")
当我运行这个SQL时,它确实无一例外地执行了return,但什么也没有,就像这个“[]”。预期的 return 值是一个项目,像这样:
{"id":1, "UnitNumber": "FN8KB1H", "reportTime": "1234567890"}
官方文档太难understand.What 我知道是"It does not support uncorrelated subqueries"。我怎样才能 select 预期的 return 值?
SELECT * FROM A WHERE A.UnitNumber = "FN8KB1H" AND A.reportTime =
(SELECT MAX(A.reportTime) FROM A WHERE A.UnitNumber = "FN8KB1H")
CosmosDB 查询不支持不相关的子查询,子查询只能引用父集合中的项目。例如:
SELECT TOP 10
c.id,
MaxNutritionValue
FROM c
JOIN (SELECT VALUE Max(n.nutritionValue) FROM n IN c.nutrients) MaxNutritionValue
返回您的要求,请尝试以下sql:
SELECT TOP 1 c.id,c.UnitNumber FROM c where c.UnitNumber = "FN8KB1H" ORDER BY c.reportTime DESC