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 に答える