Azure cosmosdb 在与2字段组合的查询中
我在cosmos DB文档中有一个设备列表(数千个),Make和SerialNumber是每个资产的唯一标识符Azure cosmosdb 在与2字段组合的查询中,azure-cosmosdb,azure-cosmosdb-sqlapi,Azure Cosmosdb,Azure Cosmosdb Sqlapi,我在cosmos DB文档中有一个设备列表(数千个),Make和SerialNumber是每个资产的唯一标识符 [{ "make": "CAT", "serial": "A1", "NAME": "CAR" }, { "make": "ZAT", "serial": "B1", "NAME": "BUS" }, { "make": "CAT", "serial": "C1", "NAME": "TRUCK" }, {
[{
"make": "CAT",
"serial": "A1",
"NAME": "CAR"
},
{
"make": "ZAT",
"serial": "B1",
"NAME": "BUS"
}, {
"make": "CAT",
"serial": "C1",
"NAME": "TRUCK"
}, {
"make": "ABC",
"serial": "A1",
"NAME": "Plane"
}, {
"make": "ZAT",
"serial": "A1",
"NAME": "BIKE"
}
]
我需要根据以下输入设备输入,从上述文件中获取资产的完整详细信息
[{
"make": "CAT",
"serial": "A1"
},
{
"make": "ZAT",
"serial": "B1"
}, {
"make": "CAT",
"serial": "C1"
}
]
我使用下面的查询来获取完整的详细信息(我知道下面的查询不正确)。一般来说,我在一次查询中通过了100个串行设备
select * from t where serial in (A1,B1,C1) and make in (CAT,ZAT,CAT)
有没有办法将两个字段组合在一起写入查询
预期结果
A1猫
B1 ZAT
C1 CATPankaj Rawat,请使用此查询sql,它可以满足您的要求
SELECT c FROM c where
ARRAY_CONTAINS([
{"serialNumber":"A1","make":"CAT"},
{"serialNumber":"B1","make":"ZAT"},
{"serialNumber":"C1","make":"CAT"}
],
{"serialNumber": c.serialNumber,
"make":c.make}
)
输出: