假设我有这个SQL工作:
SELECT(
SELECT
a.id,
a.label,
a.text
FROM [data] a
FOR JSON PATH, INCLUDE_NULL_VALUES
) AS 'data'
字符串
它将生成具有以下结构的JSON:
[
{
"id": "N/A",
"label": "test",
"text": "Not applicable"
},
{
"id": "ID",
"label": "test2",
"text": "Identification"
}
]
型
我想要的是这个结构-标签列的值用作键。
[{
"test": {
"id": "N/A",
"text": "Not applicable"
},
"test2": {
"id": "ID",
"text": "Identification"
}
}]
型
有没有可能使用SQL(而不是通过字符串构建JSON)?
2条答案
按热度按时间vd8tlhqk1#
不幸的是,SQL Server还不支持
JSON_OBJECT_AGG
,而JSON_OBJECT_AGG
本来可以很好地工作。您可以使用
STRING_AGG
和STRING_ESCAPE
,并使用嵌套的FOR JSON
子查询。适用于SQL Server 2017+。
字符串
31moq8wy2#
您可以使用FORXML连接/聚合id和text的FORJSON PATH
字符串