我已经四处寻找,看看是否有人之前需要这个,但是找不到多少。
我在Azure DocumentDB集合中有以下json对象:
{
personID: 1,
name: "Bruce",
surname: "Dickinson",
items: [
{
itemID: 1,
itemType: "A",
name: 'Item 1'
},
{
itemID: 2,
itemType: "A",
name: 'Item 2'
},
{
itemID: 3,
itemType: "B",
name: 'Item 3'
}
]
}
该系列中有很多人。 personID 2,3,4 ...... 100 .... 1000等等。
我想编写一个SQL查询来提取personID = 1的itemID数组和itemType =' A'的项目。我希望结果看起来像这样:
itemIDs: [
1,
2
]
或简单地说:
[
1,
2
]
有没有人曾尝试过这样做过?它甚至可能吗?
答案 0 :(得分:1)
拥有比我更多的SQL foo的人可能只知道使用SQL的方法,但我会使用用户定义的函数(UDF)来实现它。
这是SQL:
SELECT VALUE udf.getItemIDArray(c) FROM collection c WHERE <your clause>
这是UDF的样子:
function getItemIDArray (o) {
output = [];
for (item in o.items) {
output.push(item.itemID)
}
return output
}