SQL中的Xquery:选择子集

时间:2010-11-23 15:17:58

标签: sql xquery-sql

给出以下xml变量:

    declare @x xml
    select @x = '<Details>
<Description>
<Attributes>
   <Name>A</Name>
   <Values><RecordId>1</RecordId><RecordId>2</RecordId></Values>
</Attributes>
<Attributes>
    <Name>B</Name>
    <Values><RecordId>3</RecordId><RecordId>4</RecordId></Values>
</Attributes>
</Description>
</Details>'

我正在尝试使用所有RecordIds获取所有Name值。我想在一个声明中这样做。我现在有以下内容。

create table #xml (element varchar(60))

insert into #xml
select RoleDetails.item.value('(Name)[1]', 'varchar(60)')
from 
  @x.nodes('/Details/Description/Attributes') AS RoleDetails(item)

我正在寻找的格式是:

A 1
  2

B 3
  4

1 个答案:

答案 0 :(得分:0)

以XML格式保存子集变得更容易,并允许代码进行XML操作。