Запрос для поиска РАЗЛИЧИЙ между массивом объектов в Cosmos DB [SQL API]

#distinct #azure-cosmosdb #azure-cosmosdb-sqlapi

#distinct #azure-cosmosdb #azure-cosmosdb-sqlapi

Вопрос:

Я использую Azure Cosmos DB с SQL API, и нам нужно найти РАЗЛИЧНЫЕ значения между массивом объектов в одном документе. Я структурировал коллекцию следующими способами

  1. У меня есть 2 основных атрибута RID и RNAME. В первой коллекции у меня есть только один документ, который содержит все сопоставления RID и RNAME в массиве объектов.

«Подробности»:[ { «RID»: «1», «RNAME:»Car» }, { «RID»: «1», «RNAME:»Car» }]

  1. Во второй коллекции у меня есть несколько документов для каждого сопоставления RID и RNAME.

    { «RID»:»1″, «RNAME:»Car» }

Я использую хранимую процедуру, и мне нужно знать, какой из них является хорошим способом получить ОТЛИЧИЕ от RNAME с помощью хранимой процедуры.

Используя первую коллекцию, я не уверен, как выполнить запрос, чтобы найти РАЗНЫЕ RNAME между объектами в массиве. Использование второй коллекции. когда я использую редактор SQL, отдельный запрос работает, но не уверен, как поместить его в хранимую процедуру.

РАЗЛИЧНЫЕ значения RNAME

Комментарии:

1. Конечным пунктом назначения является получение различных значений RNAME, я прав? Почему вы использовали SP в этом процессе? Соответствует ли запрос:`select distinct c.RNAME from c` вашим требованиям, не так ли?

2. Привет, Джей, Да, команда distinct работает при наличии нескольких документов, но не работает, если все содержимое в одном документе.

Ответ №1:

1. несколько документов

используйте sql:

 select distinct c.RNAME from c
 

2. единый документ

используйте sql:

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

введите описание изображения здесь