如何格式化sql查询返回的数据结构

baubqpgj  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(326)

我从sql查询中获取了以下数据:

addon_id | addon_name | addon_category_id
---------+------------+------------------
       1 | abc        |                10
       2 | def        |                20
       3 | ghi        |                10

现在我必须以下面的json格式发送它,并根据 addon_category_id :

[
 {
  addon_category_id: 10,
  addons:
  [
   {
    addon_id: 1,
    addon_name: abc
   },
   {
    addon_id: 3,
    addon_name: ghi
   }
  ]
 },
 {
  addon_category_id: 20
  addons:
  [
   {
    addon_id: 2,
    addon_name: def
   }
  ]
 }
]

我该怎么做?这背后的逻辑是什么?我是否必须使用 for 还是有别的办法?

uelo1irk

uelo1irk1#

正如在注解中提到的,它取决于您使用的编程语言。在sql server 2016中,您可以使用json自动

SELECT  b.addon_category_id  ,addons.addon_id ,  addons.addon_name
FROM addon a
JOIN  addon addons
ON a.addon_category_id  = b.addon_category_id  
FOR JSON AUTO;

相关问题