如果我必须将从一个 select 语句获取的数字列表传递给另一个在同一集合上工作的 select 语句,我将如何执行该操作?
查询:
SELECT VALUE student.studentId
FROM student
where student.acctType="student"
这给了我一个结果:
["1","2","3","4"]
查询,如果我有这些值
SELECT student.firstName,
student.lastName
from student
where student.acctType="student" AND
student.studentId IN ("1","2","3","4")
这是我尝试过但没有成功的方法:
SELECT student.firstName,
student.lastName
from student
where student.acctType="student" AND
student.studentId IN ( SELECT VALUE student1.studentId
FROM student1
where student1.acctType="student")
最佳答案
DocumentDB 具有熟悉的 SQL 查询语法,但它仍然是一个 NoSQL 数据库。因此,它不支持文档间联接,也不支持子查询。这是坏消息。
好消息是,DocumentDB 允许您编写存储过程 (sproc),以完成您可以使用完整 SQL 完成的所有任务,甚至更多。您可以编写一个存储过程来执行返回数字列表的查询,然后使用该数字列表组成另一个查询来获取所需的数据。
也就是说,对于您描述的简单用例,您可以通过两次往返在客户端完成相同的事情。
关于azure - 如何在azure文档数据库中向另一个查询提供一个查询的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35250294/