You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cosmos DB中投影静态表并使用Not In子句查询缺失ID

Cosmos DB 查询:从静态数据集中筛选未存在于现有集合的ID

对应查询语句(NOT IN 写法)

SELECT t.id
FROM (
    SELECT "1" AS id
    UNION ALL
    SELECT "2" AS id
    UNION ALL
    SELECT "3" AS id
    UNION ALL
    SELECT "4" AS id
) t
WHERE t.id NOT IN (
    SELECT c.id FROM c c
)

备选写法(LEFT JOIN 方式)

如果偏好连接逻辑实现,也可以采用左连接筛选无匹配项的方式:

SELECT t.id
FROM (
    SELECT "1" AS id
    UNION ALL
    SELECT "2" AS id
    UNION ALL
    SELECT "3" AS id
    UNION ALL
    SELECT "4" AS id
) t
LEFT JOIN c c ON t.id = c.id
WHERE c.id IS NULL

说明与验证

  • 静态数据集t通过UNION ALL拼接多个SELECT语句构造,完全匹配你提供的静态数据结构。
  • 子查询SELECT c.id FROM c c会从Cosmos DB现有集合c中提取所有已存在的ID。
  • 当集合c的示例数据为[{"id":"1"},{"id":"2"}]时,执行上述任一查询,都会返回期望结果:
    [
      { "id": "3" },
      { "id": "4" }
    ]
    

注意事项

Cosmos DB对字段名大小写敏感,务必确保查询中使用的字段名(如id)与集合c中的实际字段名完全一致,避免因大小写不匹配导致筛选错误。

内容的提问来源于stack exchange,提问作者Venkatesh Muniyandi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 22:21:36