在 Azure SQL 資料庫中,我有一列存盤 json 資料。
SELECT a.Response
FROM [dbo].[Api] a
此查詢的結果是列格式的 json
{
"PRODUCT": {
"0": "a1",
"1": "a2",
"2": "a3",
"3": "a4"
},
"STOCK": {
"0": 3.0,
"1": 3.0,
"2": 0.5,
"3": 6.0
},
"SALES": {
"0": 2487.0,
"1": 1841.0,
"2": 391.0,
"3": 2732.0
}
}
我想做的是有一個查詢,以 SQL 行格式顯示上述資料
PRODUCT | STOCK | SALES
-------- ------- ------
a1 | 3.0 | 2487.0
a2 | 3.0 | 1841.0,
a3 | 0.5 | 391.0,
a1 | 6.0 | 2732.0
uj5u.com熱心網友回復:
假設鍵的值是關系,并且所有鍵在所有 3 個 JSON 物件中都有一個值,一種方法是使用一些呼叫OPENJSON并在 中定義關系WHERE:
SELECT P.[value] aS Product,
St.[value] AS Stock,
Sa.[value] AS Sales
FROM [dbo].[Api] a
CROSS APPLY OPENJSON (a.Response, '$.PRODUCT') P
CROSS APPLY OPENJSON (a.Response, '$.STOCK') St
CROSS APPLY OPENJSON (a.Response, '$.SALES') Sa
WHERE P.[key] = St.[Key]
AND St.[Key] = Sa.[Key];
db<>小提琴
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/504580.html
