déchiqueté Étant donné l'exemple suivant de XML et la déclaration select
qui déchiquettent le xml dans une relation, ce j'ai besoin est la deuxième colonne du select
être le ordinale de la catégorie (c.-à-1 pour les directions et 2 pour les couleurs dans ce cas).sur xml
Remarque: La valeur littérale 'rank()' dans la sélection est laissée comme espace réservé. Je farfouillais avec l'utilisation du rank
, mais sans succès.
declare @x xml
set @x = '
<root>
<category>
<item value="north"/>
<item value="south"/>
<item value="east"/>
<item value="west"/>
</category>
<category>
<item value="red"/>
<item value="green"/>
<item value="blue"/>
</category>
</root>'
select c.value('./@value', 'varchar(10)') as "ItemValue",
'rank()' as "CategoryNumber"
from @x.nodes('//item') as t(c)
Si seulement je pouvais trouver comment utiliser « fn: id » ... http://msdn.microsoft.com/en-us/library/ms190915.aspx – gbn
@marc_s --unfortunately le xml est ce qu'il est --- je ne peux pas le changer. –