开发者社区> 问答> 正文

SQL 转换 JSON:从 json 数组对象中选择一个字段

SQL 转换 JSON:从 json 数组对象中选择一个字段

展开
收起
贺贺_ 2019-12-02 20:22:15 485 0
1 条回答
写回答
取消 提交回答
  • 似乎最简单的方法是使用子查询来读取 JSON,并创建新的: STRING_AGG

    SELECT V.ID,
           V.Name,
           '[' + STRING_AGG('"' + ca.FieldName + '"',',') WITHIN GROUP (ORDER BY ca.FieldName)  + ']'        
    FROM (VALUES(7,'Query 7','[{"FieldName": "A"},{ "FieldName": "B"},{"FieldName": "B"}]'))V(ID,[Name], Query)
         CROSS APPLY (SELECT DISTINCT OJ.FieldName
                      FROM OPENJSON (V.Query)
                           WITH (FieldName char(1)) OJ) ca --May  need larger size, char(1) based on your sample data
    GROUP BY V.ID,
             V.[Name];
    
    2019-12-02 20:22:47
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载