如何在Cosmos DB中对两个容器执行内连接操作
Cosmos DB跨容器内连接的正确实现方式
你原来的SQL语句错误使用了单容器内数组展开的JOIN语法,这种写法无法实现跨容器的内连接。Cosmos DB中跨容器的内连接需要通过在FROM子句中同时指定两个容器,再用WHERE子句定义关联条件来实现,本质是通过笛卡尔积过滤得到符合条件的匹配结果。
假设两个容器VD_VENDAS和VD_ESTOQUE通过obraId字段关联,正确的SQL语句如下:
SELECT v.obraId FROM VD_VENDAS v, VD_ESTOQUE e WHERE v.obraId = e.obraId
如果需要同时查询两个容器的其他字段,可调整SELECT子句:
SELECT v.obraId, v.vendaValor, e.estoqueQuantidade FROM VD_VENDAS v, VD_ESTOQUE e WHERE v.obraId = e.obraId
注意事项
- 两个容器必须属于同一个Cosmos DB数据库。
- 确保关联字段(如
obraId)在两个容器中存在且数据类型一致,否则会无法匹配。
内容的提问来源于stack exchange,提问作者Leidiane Beatriz
相关产品推荐
相关产品推荐

