【发布时间】:2021-11-10 18:39:47
【问题描述】:
我们有一个表,其中有一个带有一些 json 的字段。 使用 cross apply 我能够将这些对变成列:
select [mytable].ID,[mytable].[IndexFields], jsonvalues.[Key], jsonvalues.[Value]
from [mytable]
cross APPLY OPENJSON([mytable].[IndexFields])
WITH
([Key] nvarchar(255) ,
[Value] nvarchar(255) ) as jsonValues
order by [mytable].ID
那么我该如何把它变成这样的东西:
谢谢。
【问题讨论】:
-
您是否提前知道所有可能的键名(名字、姓氏、MyChoice 等)?还是需要针对添加的每个新键进行调整?另外,请将表结构和示例数据作为插入(例如,使用db<>fiddle 并选择正确版本的 SQL Server)而不是图片。
-
查看条件聚合或透视。
标签: sql arrays json sql-server