私はこれが生成する次のクエリ"XMLパスの" MS SQL 2005ノードレイアウト質問
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
FOR XML PATH('node1'),TYPE,Elements)
またはノード1
Select field3 as 'node1/child1/field3',
とサブクエリのフィールド名を接頭辞にノード1を入れて試してみたが、両方は、サブクエリのための新しいノード1の要素を作成します。
どのように私はこれを達成することができます知っていますか?
おかげ
こんにちはAndomar 私のサブクエリで正しいデータを返すことができますが、それはルートの子ノードとして返します。私はchild1ノードがrootの一部ではなくnode1の一部である必要があります。 – Dirk
child1がnode1にどのように関係しているか、SQL Serverにどのように伝えていますか? – Andomar