Distinct 在Cosmos DB[SQL API]中查找不同对象数组的查询

Distinct 在Cosmos DB[SQL API]中查找不同对象数组的查询,distinct,azure-cosmosdb,azure-cosmosdb-sqlapi,Distinct,Azure Cosmosdb,Azure Cosmosdb Sqlapi,我将Azure Cosmos DB与SQL API一起使用,我们需要找到同一文档中对象数组之间的不同值。 我以以下方式组织了这个集合 我有两个主要属性RID和RNAME。在第一个集合中,我只有一个文档,其中包含对象数组中的所有RID和RNAME映射 “详情”:[ { “RID”:“1”, RNAME:“汽车” }, { “RID”:“1”, RNAME:“汽车” }] 在第二个集合中,每个RID和RNAME映射都有多个文档 { “RID”:“1”, RNAME:“汽车” } 我正在使用存储过程,

我将Azure Cosmos DB与SQL API一起使用,我们需要找到同一文档中对象数组之间的不同值。 我以以下方式组织了这个集合

  • 我有两个主要属性RID和RNAME。在第一个集合中,我只有一个文档,其中包含对象数组中的所有RID和RNAME映射
  • “详情”:[ { “RID”:“1”, RNAME:“汽车” }, { “RID”:“1”, RNAME:“汽车” }]

  • 在第二个集合中,每个RID和RNAME映射都有多个文档

    { “RID”:“1”, RNAME:“汽车” }

  • 我正在使用存储过程,我需要知道哪一个是区分RNAME使用存储过程的好方法

    使用第一个集合,我不知道如何查询以在数组中的对象之间找到不同的RNAME。 使用第二个集合。当我使用SQL编辑器时,独特的查询可以工作,但不确定如何将其放入存储过程中

    RNAME的不同价值

    1.多个文件

    使用sql:

    select distinct c.RNAME from c
    
    2.单一文件

    使用sql:

    SELECT distinct d.RNAME FROM c
    join d in c.Details
    

    1.多个文件

    使用sql:

    select distinct c.RNAME from c
    
    2.单一文件

    使用sql:

    SELECT distinct d.RNAME FROM c
    join d in c.Details
    

    最终目的是获取RNAME的不同值,对吗?为什么在这个过程中使用SP?查询:`select distinct c.RNAME from c`是否满足您的要求?嗨,Jay,是的,当存在多个文档时,distinct命令起作用,但如果所有内容都在一个文档中则不起作用。最终目的是获取RNAME的distinct值,对吗?为什么在这个过程中使用SP?查询:`select distinct c.RNAME from c`是否符合您的要求?嗨,Jay,是的,distinct命令在有多个文档时有效,但在单个文档中的所有内容都无效。