我有以下查询
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>
我试过把 node1 放在子查询 PATH
FOR XML PATH('node1'),TYPE,Elements)
或在子查询字段名称前加上 node1
Select field3 as 'node1/child1/field3',
但两者都为子查询创建了一个新的 node1 元素。
有谁知道我怎么能做到这一点?
谢谢