0

次の XML 構造を次のテーブル構造に変換する必要があります (SQL Server 2000 の場合)。

<family>
  <parent>
    <id>1</id>
    <child>test1</child>
    <child>test2</child>
  </parent>
  <parent>
    <id>2</id>
    <child>test3</child>
    <child>test4</child>
  </parent>
</family>

表のサンプル データ:

parent_id child
1         test1
1         test2
2         test3
2         test4

クエリ:

SELECT Child FROM 
  OPENXML (@hdoc, 'family/parent/child') 
    WITH(Child nvarchar(256) '.')

結果を与える:

test1
test2
test3
test4

クエリ #2:

SELECT ParentID, Child FROM 
  OPENXML (@hdoc, 'family/parent') 
    WITH(
      Child nvarchar(256) 'child/.',
      ParentID int 'id/.'
    )

結果を与える:

1 test1
2 test3

親IDとすべての子の両方を取得するにはどうすればよいですか?

4

1 に答える 1

1
SELECT ParentID, Child FROM 
  OPENXML (@hdoc, 'family/parent/child') 
    WITH(
      Child nvarchar(256) '.',
      ParentID int '../id'
    )
于 2012-09-27T22:30:13.483 に答える