1
是否可以在Sql Server 2016中將來自多個數組元素的json文檔的某些部分合併到一個結果中?使用Sql Server 2016的OPENJSON函數從Json文檔中選擇多個數組元素的結果
鑑於此JSON:
{
"fruit": {
"types": [
{
"possible": [ "Apples", "Bananas", "Pears" ],
"category": "Basic"
},
{
"possible": [ "Oranges", "Grapefruit", "Lemons", "Limes" ],
"category": "Citrus"
},
{
"possible": [ "Blueberries", "Strawberries", "Cherries" ],
"category": "Berries"
}
]
}
}
我想看到從可能的元素中的所有值的一個結果:
results
-----
Apples
Bananas
Pears
Oranges
Grapefruit
Lemons
Limes
Blueberries
Strawberries
Cherries
我已經得到接近這樣做:
SELECT * FROM OPENJSON(JSON_QUERY(@json, '$.fruit.types[0].possible'))
UNION
SELECT * FROM OPENJSON(JSON_QUERY(@json, '$.fruit.types[1].possible'))
UNION
SELECT * FROM OPENJSON(JSON_QUERY(@json, '$.fruit.types[2].possible'))
但是這依賴於將查詢綁定到數組中的元素數量。 有沒有辦法做到這一點,而不必單獨指定每個數組元素?像這樣的事情(這些都不是有效的表達式):
SELECT * FROM OPENJSON(JSON_QUERY(@json, '$.fruit.types[].possible'))
或
SELECT * FROM OPENJSON(JSON_QUERY(@json, '$.fruit.types.possible'))
這是我應該做一個CROSS APPLY?
奇妙。謝謝。 –