【发布时间】:2018-12-16 12:51:19
【问题描述】:
我有一个表格,其中包含与一个非常大的文档有关的信息。该表如下所示:
ID | Title | Parent_ID | <other columns>
--------+---------------+---------------+-------------------
0 | Root | null | ...
1 | Introduction | 0 | ...
2 | Glossary | 1 | ...
3 | Audience | 1 | ...
4 | "A" | 2 | ...
5 | "B" | 2 | ...
6 | "C" | 2 | ...
结果 JSON 应如下所示(为清楚起见,省略了 <other columns> 部分):
{"ID" : 0 ,
"Title" : "Root" ,
"Contents" : [{"ID" : 1 ,
"Title" : "Introduction",
"Contents" : [{"ID" : 2 ,
"Title" : "Glossary" ,
"Contents" : [{"ID" : 4 ,
"Title" : "A" ,
"Contents" : [] },
{"ID" : 5 ,
"Title" : "B" ,
"Contents" : [] },
{"ID" : 6 ,
"Title" : "C" ,
"Contents" : [] }]
},
{"ID" : 3 ,
"Title" : "Audience" ,
"Contents" : []
}
]
},
....
]
}
我确实有一个简单的(递归)过程可以处理这个问题,但希望有一种更简单的方法使用 DBMS 的 JSON 功能(也许使用 CTE?)。
【问题讨论】:
标签: sql json sql-server sql-server-2016