1

我从同一个表中选择了 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>&lt;CAT1 a="Data1" b="Data2', c="Data3" &gt;&lt;CAT2 d="Data4" e="Data5" f="Data6"&gt;</Parent>

如何避免?我会被包含在一个适当的父 xml 中吗?

预期结果

<Parent>
   <CAT1 a="Data1" b="Data2', c="Data3">
   <CAT2 d="Data4" e="Data5" f="Data6">
</Parent>
4

1 回答 1

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')

FOR XML 查询中的 TYPE 指令

于 2012-10-30T08:08:59.663 回答