我带着这些数据。
declare @T table
(
ID int,
[subject] varchar(30),
Marks int
)
insert into @T values
(1, 'Maths',78),
(1, 'Science',89),
(2, 'Maths',90),
(3, 'Maths',91),
(4, 'Maths',92)
我尝试了以下查询:
SELECT ID
,(SELECT t1.* FOR XML PATH('body'),TYPE) AS TheRowAsXml
FROM @T as t1
但它为每个条目提供一行。
我想按id分组
我的预期输出如下:
<body>
<ID>1</ID>
<subject>Maths</subject>
<Marks>78</Marks>
<subject>Science</subject>
<Marks>89</Marks>
</body>
对于id 1等等
如果您有任何建议,我们将不胜感激
1条答案
按热度按时间ljo96ir51#
可以使用子查询生成,如下所示:
更新
一个更干净的方法