次のクエリがあります
Select field1 as 'node1/field1',
field2 as 'node1/field2',
(Select field3 as 'child1/field3',
field4 as 'child1/field4'
From table2
FOR XML PATH(''),TYPE,Elements)
From Table1 FOR XML PATH('Root'),Elements
これにより、次が生成されます。
<Root>
<node1>
<field1>data1</field1>
<field2>data2</field2>
</node1>
<child1>
<field3>data3</field3>
<field4>data4</field4>
</child1>
<child1>
...
</Root>
child1 ノードを、下の別のノードではなく、node1 の一部にしたいと思います。
<Root>
<node1>
<field1>data1</field1>
<field2>data2</field2>
<child1>
<field3>data3</field3>
<field4>data4</field4>
</child1>
<child1>
...
</node1>
<node1>
...
</Root>
サブクエリPATHにnode1を入れてみました
FOR XML PATH('node1'),TYPE,Elements)
または、サブクエリ フィールド名の前に node1 を付けます
Select field3 as 'node1/child1/field3',
ただし、どちらもサブクエリの新しい node1 要素を作成します。
これを達成する方法を知っている人はいますか?
ありがとう