如何解决SQL Server OPENJSON 嵌套对象语法
我试图找出适当的语法来仅从“worklistData”下的“1”对象查询 Note 列……但失败了。我经历了几次迭代,但下面的代码似乎是“应该”工作的(但显然不是)。查询在最后一次 CROSS APPLY 之前一直有效,然后它会返回错误:
"JSON 路径格式不正确。意外字符 '1' 是 在位置 2 找到。”
你们中的一个能不能指出我在哪里搞砸了?
DECLARE @JSON VARCHAR(MAX) =
'
{
"_id":143884,"member":{
"memberId":"12345","firstName":"Test","lastName":"Test"
},"worklistData":{
"1":{
"Note":"Note 1 text goes here","thUpdateCount":26
},"2":{
"Note":"This is a test","thUpdateCount":1
}
}
}
';
SELECT RT.*,MEM.*,WL1.*
FROM OPENJSON(@JSON)
WITH (
SK VARCHAR(MAX) '$._id'
) RT
CROSS APPLY OPENJSON(@JSON,'$.member')
WITH (
SourceMemberID VARCHAR(MAX) '$.memberId',FirstName VARCHAR(MAX) '$.firstName',LastName VARCHAR(MAX) '$.lastName'
)MEM
CROSS APPLY OPENJSON(@JSON,'$.worklistData') WL
CROSS APPLY OPENJSON(WL.value,'$.1')
WITH (
Note1 VARCHAR(MAX) '$.Note'
) WL1;
提前致谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。