SQL Server JSON将行转置为列

问题描述

DECLARE @json NVARCHAR(MAX)

SET @json='{"name":"John","surname":"Doe","age":45,"skills":["sql","C#","MVC"]}';

SELECT *
FROM OPEnjsON(@json);

这给你 键,值和类型作为“列”。

我想将姓名,姓氏和年龄作为列。 然后是45岁的约翰(Doe)。

如何翻转或转置列和行? 我尝试过枢轴,但无法正常工作。

解决方法

您将使用with的{​​{1}}子句:

openjson()

Demo on DB Fiddle

name | surname | age
:--- | :------ | --:
John | Doe     |  45