declare @xmlsample xml =
'<root>
<solution>
<solutionnumber>1</solutionnumber>
<productgroup>
<productcategory>
<price>100</price>
<title>Some product</title>
<tax>1</tax>
</productcategory>
</productgroup>
<productcategory2>
<price>200</price>
<title>Some other product</title>
<tax>2</tax>
</productcategory2>
</solution>
<solution>
<solutionnumber>2</solutionnumber>
<productcategory2>
<price>200</price>
<title>Some other product</title>
<tax>2</tax>
</productcategory2>
</solution>
</root>'
SELECT
--T.C.value('(./ancestor::ns1:solutionNumber)[1]', 'varchar(50)') AS solutionnumber ?? no clue
T.C.value('(price)[1]', 'numeric(18,2)') AS price
,T.C.value('(title)[1]', 'varchar(50)') AS title
,T.C.value('(tax)[1]', 'numeric(18,2)') AS tax
FROM @xmlsample.nodes('//node()[title]') AS T(C)
Reprezentacja XML, który próbuję zniszczyć w SQL Server 2008 r2. Znajduję węzeł "tytuł" i przechwytuję potrzebne wartości z kategorii produktu. Teraz chciałbym otrzymać "numer rozwiązania", ale może to być jeden lub więcej węzłów nadrzędnych nad produktem, ponieważ istnieją pewne "grupy" produktów.SQL Server .nodes() Węzły macierzyste XML o nazwie
W jaki sposób sprawdziłbym węzły nadrzędne według nazwy ("numer_rozmowy"), dopóki go nie znajdę? Dzięki za pomoc.
Błędna terminologię z mojej strony. Wciąż jednak szukam "numeru rozwiązania". – duffn