我正在使用从 SQL Server 05 中检索 Xml 格式的数据FOR XML
在生成的 XML 中嵌套元素的最佳做法是什么?
目前我正在这样做:
Select
(
Select
[Col1] As [Col1],
[Col2] As [Col2]
From [dbo].[NestedTable] As T1
Where T0.[Key] = T1.[Key]
FOR XML PATH('NestedTable'), TYPE
),
[Col1] As [Col1],
[Col2] As [Col2],
From [dbo].[TopLevelTable] As T0
FOR XML PATH('TopLevelTable'), ROOT('TopLevelTableItems')
但是,由于相关的子查询,我担心它的性能。是否有我可以使用的 Group By 类型功能,以便我可以对两个表进行常规内部连接,并生成顶级节点唯一且具有适当子节点集合的 Xml?
编辑 鉴于缺乏回应,我似乎在要求不可能的事情。所以也许一个更好的问题是:
有没有更好/更好的方法从 SQL Server 生成 Xml,或者我应该将我的代码移出 CLR 并从那里生成?