我有这个数据结构:
Site SiteDescription SiteParent
1 Test 1 -1
2 Test 2 1
3 Test 3 1
4 Test 4 2
5 Test 5 2
6 Test 6 4
7 Test 7 4
8 Test 8 7
使用SQL Query和FOR XML,我想生成一个xml结果,格式如下:
<sites>
<site id="1" desc="Test 1">
<site id="2" desc="Test 2">
<site id="4" desc="Test 2">
<site id="6" desc="Test 2" />
<site id="7" desc="Test 2">
<site id="8" desc="Test 2" />
</site>
</site>
<site id="5" desc="Test 2" />
</site>
<site id="3" desc="Test 3" />
</site>
</sites>
我需要这样的格式,我知道我可以做到但包括子查询和使用FOR XML和PATH等。
我的问题是,我不知道这会有多少级别。它可能是3或10。
我不喜欢对特定数量的子查询进行硬编码,以期有望涵盖所有未来的子级别。
是否有一种递归的方式来产生这种结构,而今天,明天或明年的水平并不重要?