[英]How to extract nested json?
我有一個表名“我的文檔”。 還有一列是嵌套的 json,稱為“元素”。 結構如下。
我想將 element_id 提取為一列。 如何用 sql 制作它? 謝謝
{
“element”: {
“1”: {
“element_id”:”3jakd4ks”,
“type”: “square”,
“name”: “eggplant”
},
“2”: {
“element_id”:” ieh3iusk”;
“type”: “circle”,
“name”: “orange”
},
“3”: {
“element_id”:”766wjdhh”;
“type”: “circle”,
“name”: “apple”
}
}
}
如果您正在使用 SQL 服務器,並且您的數據存儲在表中,則語法將是這樣的。 您的架構可能不同,但請參閱 Microsoft 文檔了解更多詳細信息。 https://docs.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-ver15
SELECT v.*
FROM Table1 AS t
CROSS APPLY
OPENJSON(t.JSONColumn)
WITH (
ResultID NVARCHAR(MAX) '$.element' AS JSON
) AS Returned
CROSS APPLY (
SELECT element_id
,type
,name
FROM
OPENJSON(Returned.ResultID)
WITH (
element_id VARCHAR(MAX) '$.element_id'
,type VARCHAR(MAX) '$.type'
,name VARCHAR(MAX) '$.name'
)
) AS v;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.