[英]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.