Я прочитал космический документ Azure, и в настоящее время говорится, что он не позволяет присоединиться к 2 различным коллекциям в одной БД.Мне нужна помощь по достижению сценария ниже.Ниже приведены документы в БД Космос.Я использую SQL API для того же.
Все приведенные ниже документы находятся в одной коллекции.'id' - это ключ раздела .
Документ 1:
{
"id": "12343920",
"status": "1",
"code": "111116"
}
Документ 2:
{
"id": "12343921",
"status": "8",
"code": "111117"
}
Документ 3: [отличается от других документов]
{
"id": "active",
"Part": [
{
"Name": "ABC",
"Status": [
"1",
"2",
"3"
]
},
{
"Name": "DEF",
"Status": [
"6",
"2",
"8"
]
}
],
}
У меня есть хранимая процедура , где API поставляется с 3 параметрами,
Мне нужно найти статус в Документе 3 для соответствующего Имени [из API] изатем нужно применить предложение IN в других документах, чтобы найти соответствующий ответ.
Я попытался несколько запросов, как показано ниже.
Я попытался получить массив строк длястатус из document 3 :
SELECT Value t.Status
from f
JOIN t in f.Part
where t.Name=@Name
Этот запрос работает в редакторе SQL [если я заменяю @Name на ABC], но не показывает документ при выполнении в хранимой процедуре.
Другой код :
SELECT n.id,n.code,n.Status
FROM order n
where n.Code=@Code
and n.id=@id and n.Status IN (
SELECT ARRAY(
SELECT Part.Status
FROM Part
in order.Part
WHERE Part.Name=@Name)
FROM orders WHERE orders.id='active')
В нем говорится Ошибка рядом с оператором SELECT.
Результат, который я ожидаюкак ниже которого матпараметры из API.
{
"id": "12343920",
"status": "1",
"code": "111116"
}