DocumentDB SQL ARRAY_CONTAINS

问题描述 投票:0回答:1

在这种情况下,文档看起来像:

{
 "id" : "1",
 "Properties" : [
  {
   "Name" : "Leonard",
   "Result" : "Pass",
   "Grade" : "A"
  },
  {
   "Name" : "Sheldon",
   "Result" : "Pass",
   "Grade" : "A"
  },
  {
   "Name" : "Raj",
   "Result" : "Fail",
   "Grade" : "F"
  },
  {
   "Name" : "Howard",
   "Result" : "Pass",
   "Grade" : "B"
  }
 ]
}

我想编写一个查询,该查询返回带有"Result" : "Pass"的元素。我已经尝试过ARRAY_CONTAINS()和查询

SELECT * FROM d as c WHERE ARRAY_CONTAINS(c.Result, {"Result" : "Pass"}, true)

查询的问题在于,它可以在数组中找到"Result": "Pass"的情况下返回整个数组。我应该如何修改或更改查询,以使结果仅包含具有"Result": "Pass"的数组元素。

sql azure-cosmosdb
1个回答
0
投票

您只需要选择Properties

SELECT  c.Properties[0] as Result
FROM c
JOIN tag IN c.Properties
WHERE tag.Result = "Pass"
© www.soinside.com 2019 - 2024. All rights reserved.