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 回答