使用具有多行的SQL Server生成JSON鍵值字典

試圖弄清楚如何將多行數據轉換為一行KeyValue數組。

Raw data:

Desired result:

{ "Name1":"Value1", "Name2":"Value2" }

我使用Json Path和JSON_Array.嘗試了不同的組合。兩者都沒有解決我的需求。

SELECT JSON_ARRAY(s.name,s.value) AS result 
FROM tbl s 
WHERE FkId = 1024180 

結果是兩行帶有包裝:

row 0 ["Name1","Value1"],
row 1 ["Name2","Value2"]

Tried:

SELECT s.name, s.value 
FROM tbl s 
WHERE fkid= 1024180 
FOR JSON PATH

Result:

[{"name":"SpaceSubType","value":"Fee Earner"},{"name":"Department","value":"Property"}]

有沒有合理的方法來獲得我想要的輸出?

results

應用Yitzhak的建議,我非常接近我所需要的,然而json路徑現在正在逃離手動生成的字典。如果可能的話,有什么想法可以去掉那些轉義字符嗎?

formatted

select 
sa.Id as 'id',
s.id   as 'Sid',
(SELECT ('{' + STRING_AGG('"' + sp.name + '": "' + sp.value + '"', ',') + '}') as barf FROM  tbl sp where foo = s.id) as properties
     from TblA sa
     inner join TblB s on s.id = sa.Sid
     Where sa.Sid = '04000772'
     For Json path, 
     INCLUDE_NULL_VALUES 

result

[
    {
        "id": "04000772",
        "Sid": 1024180,
        "Properties": "{\"Name1\": \"Value1\",\"Name2\": \"Value2\"}"
    }
]

根據以下評論。。這是一張生成字符串后進行轉義的門票。

…s.id as Sid, json_query((select '{'+string_agg('"'+string_escape(name, 'json') +'":'+isnull('"'+string_escape(value, 'json')+'"', 'null'), ',')+'}' from tableX)) as properties

? 最佳回答:

請嘗試以下解決方案。

它將從SQL Server 2017開始工作。

SQL

-- DDL and sample data population, start
DECLARE @tbl TABLE (id INT PRIMARY KEY, FkId INT, name VARCHAR(20), value VARCHAR(20));
INSERT @tbl (id, FkId, name, value) VALUES
(83713, '1024180', 'Name1', 'Value1'),
(83714, '1024180', 'Name2', 'Value2');
-- DDL and sample data population, end

SELECT '{' + STRING_AGG('"' + name + '": "' + value + '"', ',') + '}'
FROM @tbl
WHERE fkid = 1024180

Output

{
    "Name1": "Value1",
    "Name2": "Value2"
}
主站蜘蛛池模板: 国产精品久久久久一区二区三区 | 国产一区二区在线看| 中文字幕一区二区三区在线播放 | 人妻夜夜爽天天爽爽一区| 日本不卡一区二区三区视频| 日韩国产精品无码一区二区三区| 亚洲午夜精品一区二区公牛电影院| 无码精品人妻一区二区三区中| 极品少妇一区二区三区四区| 无码精品人妻一区二区三区影院| 亚洲bt加勒比一区二区| 正在播放国产一区| 精品无码人妻一区二区三区品| 狠狠色综合一区二区| 国产精品毛片VA一区二区三区| 在线播放偷拍一区精品| 久久久老熟女一区二区三区| 日韩经典精品无码一区| 性色AV一区二区三区无码| 国产无线乱码一区二三区| 日韩AV在线不卡一区二区三区| 国产高清在线精品一区| 国产精品日本一区二区不卡视频 | 中文字幕精品一区二区三区视频| 亚洲AV成人一区二区三区在线看| 无码国产精成人午夜视频一区二区 | 亚洲av成人一区二区三区在线播放| 精品国产乱子伦一区二区三区| 91国在线啪精品一区| 国产午夜精品一区理论片| 日本一区午夜艳熟免费| 国产av一区二区三区日韩| 综合久久一区二区三区| 亚洲国产情侣一区二区三区| 视频一区精品自拍| 精品无码av一区二区三区| 精品国产福利一区二区| 相泽南亚洲一区二区在线播放| 国产一区二区三区福利| 国产福利电影一区二区三区| 少妇激情av一区二区|