我的用户典型文档如下所示:
{
"id": "SomeGuid",
"firstName": "John",
"lastName": "Smith",
"pet": { "id": "anotherGuid", "name": "Fluffy" }
}
如果用户没有宠物,我甚至不会在DocumentDb中保存pet属性,因此用户文档将如下所示:
{
"id": "Guid123",
"firstName": "Jane",
"lastName": "Doe"
}
我想获得一个用户名单以及他们的宠物名称,所以这是我的SQL:
SELECT c.id, c.firstName, c.lastName, p.name
FROM c
JOIN p IN c.pet
此SELECT不返回任何数据。如果我删除JOIN并仅获取用户信息,则可以正常工作。
如何获得所有用户?如果他们有宠物,我应该得到宠物的名字,如果没有,没有宠物的名字。使用我的示例,我想得到一个如下所示的列表:
[
{ "id": "SomeGuid", "firstName": "John", "lastName": "Smith", "name": "Fluffy" },
{ "id": "Guid123", "firstName": "Jane", "lastName": "Doe" }
]
答案 0 :(得分:0)
我没有使用JOIN就能达到我的目的。
这是我的SELECT,它给了我我想要的东西:
SELECT c.id, c.firstName, c.lastName, c.pet.name
FROM c
我得到的结果正是我想要的结果:
[
{ "id": "SomeGuid", "firstName": "John", "lastName": "Smith", "name": "Fluffy" },
{ "id": "Guid123", "firstName": "Jane", "lastName": "Doe" }
]