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)
SQL Server 2008 R2에서 분쇄하려고 시도하는 XML의 표현입니다. 나는 "제목"노드를 찾고 제품 범주에 필요한 가치를 얻습니다. 이제 "솔루션 번호"를 얻으려고합니다. 그러나 특정 제품 "그룹"이 있으므로 제품 위에 하나 이상의 부모 노드가 될 수 있습니다.SQL Server .nodes() 이름으로 XML 부모 노드
부모 노드를 찾을 때까지 이름 ("solutionnumber")을 어떻게 확인합니까? 도움을 주셔서 감사합니다.
잘못된 용어를 작동합니다. 그러나 여전히 "solutionnumber"를 찾고 있습니다. – duffn