2010-11-23 21 views
0

Compte tenu de la variable xml suivante:XQuery dans SQL: Sélection d'un sous-ensemble

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>' 

Je suis en train d'obtenir toutes les valeurs de nom avec tous leurs RecordIds. Je voudrais le faire dans une déclaration. J'ai maintenant ce qui suit.

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) 

Le format que je suis à la recherche serait:

A 1 
    2 

B 3 
    4 

Répondre

0

Il est devenu plus facile d'enregistrer le sous-ensemble dans le format XML et permettre le code de faire la manipulation XML.