2010-11-23 66 views
0

鑑於以下XML變量:中的XQuery SQL:選擇一個子集

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。我想在一個聲明中這樣做。我現在有以下幾點。

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 

回答

0

它變得更容易保存在XML格式的子集,並允許對代碼做XML操作。