我有一个这样的JSON结构:
.order(by: '__name__')
我正在使用SQL Server 2016,这是我的查询:
{
"Assessment": {
"AssessmentContext": {
"ReportID": "1021060",
"ReportName": "John Smith",
},
}
运行此查询时,两列的值都为NULL。我在做什么错了?
更新:
我正在编辑问题,因为我无法将文本格式设置为注释中的代码。如何调整我的SQL以显示报告ID,报告名称,项目名称,值。
SELECT Data.ReportID,Data.ReportName
FROM TableName DT
CROSS APPLY
OPENJSON(DT.TX_TEXT) WITH (
ReportID INT '$.ReportID',
ReportName VARCHAR(100) '$.ReportName'
) AS Data
答案 0 :(得分:1)
您可以通过路径:
SELECT Data.ReportID,Data.ReportName
FROM TableName DT
CROSS APPLY
OPENJSON(DT.TX_TEXT, '$.Assessment.AssessmentContext') -- here
WITH ( ReportID INT '$.ReportID',
ReportName VARCHAR(100) '$.ReportName') AS Data