我从同一张表中选择2组列,如下所示。
select (select a, b, c from T1 FOR XML RAW('CAT1')),
(select d, e, f from T1 FOR XML RAW('CAT2'))
for XML PATH('Parent')
查询结果为
<Parent><CAT1 a="Data1" b="Data2', c="Data3" ><CAT2 d="Data4" e="Data5" f="Data6"></Parent>
如何避免?我会附上一个合适的父xml?
预期结果
<Parent>
<CAT1 a="Data1" b="Data2', c="Data3">
<CAT2 d="Data4" e="Data5" f="Data6">
</Parent>
答案 0 :(得分:2)
使用TYPE
指定子查询应返回XML。
select (select a, b, c from T1 FOR XML RAW('CAT1'), TYPE),
(select d, e, f from T1 FOR XML RAW('CAT2'), TYPE)
for XML PATH('Parent')