【发布时间】:2019-08-23 03:18:56
【问题描述】:
我有以下 JSON 数组数据集需要解析成 2 个表行:
[
{ "eid": "ABCDGD",
"name": "Carol E",
"email": "carole@gmail.com",
"role": "Recruiter"
},
{ "eid": "HDHDK",
"name": "Mark H",
"email": "markh@gmail.com",
"role": "Manager"
}
]
我需要下面的代码来返回两组员工信息,但它只返回一个。我如何做到这一点?
select p.* from
(SELECT j2.[key] as _keys, j2.Value as _vals
FROM OPENJSON(@c) j1
CROSS APPLY OPENJSON(j1.Value) j2
) as pds
PIVOT
(
max(pds._vals)
FOR pds._keys IN([eid], [name], [email], [role])
) AS p
SQLfiddle - http://sqlfiddle.com/#!18/9eecb/54970
【问题讨论】:
标签: sql-server tsql pivot