如何正确执行此子查询?

时间:2019-10-16 13:14:43

标签: azure-cosmosdb

当我将此查询与子查询一起使用时,我在Cosmos上收到错误400。我需要对一个查询执行此任务:

SELECT DISTINCT VALUE c.Nome 
FROM c 
WHERE c.Id = 0456 
  AND c.Tipo NOT IN (SELECT DISTINCT VALUE c.Tipo 
                     FROM c 
                     WHERE c.Materiais IN (55))
  AND c.Materiais NOT IN (55)

两个查询分别工作。我怎么能一起做?

1 个答案:

答案 0 :(得分:0)

据我所知,cosmos db不支持您的子查询sql的格式,该格式类似于普通的关系数据库sql。我查看了official documents的示例代码以进行子查询,您可以尝试使用我的sql:

SELECT DISTINCT VALUE c.Nome 
FROM c 
JOIN (SELECT DISTINCT VALUE c.Tipo 
                     FROM c 
                     WHERE c.Materiais IN (55)) m
where c.Tipo != m.Tipo and c.Materiais NOT IN (55)

有任何疑问或其他问题,请在这里告诉我。