我想将 t-sql 中的 json 行组合成单个 json 行

Posted

技术标签:

【中文标题】我想将 t-sql 中的 json 行组合成单个 json 行【英文标题】:I want to combine json rows in t-sql into single json row 【发布时间】:2021-12-12 07:35:48 【问题描述】:

我有一张桌子

id json
1 "url":"url2"
2 "url":"url2"

我想将这些组合成一个语句,输出为:


    "graphs": [
        
            "id": "1",
            "json": [
                
                    "url": "url1"
                
            ]
        ,
        
            "id": "2",
            "json": [
                
                    "url": "url2" 
                
            ]
        
    ]

我正在使用 T-SQL,我注意到 postgres 中有一些东西,但在 tsql 上找不到很多东西。

任何帮助将不胜感激..

【问题讨论】:

【参考方案1】:

您需要在json 列上使用JSON_QUERY 以确保它不会被转义。

SELECT
  id,
  JSON_QUERY('[' + json + ']')
FROM YourTable t
FOR JSON PATH, ROOT('graphs');

db<>fiddle

【讨论】:

谢谢查理脸

以上是关于我想将 t-sql 中的 json 行组合成单个 json 行的主要内容,如果未能解决你的问题,请参考以下文章

将 loc 代码行组合成 1 个函数 python pandas

将sed截断x行组合成find命令

如何在pandas中将多个相同类别的行组合成一个?

使用 T-SQL 从 RESTful API 解析 JSON

如何将两个HTML表的输出组合成单个列和一些列

在 PrestoSQL 中将行组合成一个列表