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 सर्वर 2008 आर 2 में फेंकने का प्रयास कर रहा हूं। मुझे "शीर्षक" नोड मिल गया है और मुझे आवश्यक मूल्यों को पकड़ना है जो उत्पाद श्रेणी में हैं। अब मैं "समाधान संख्या" प्राप्त करना चाहता हूं हालांकि यह उत्पाद के ऊपर एक या अधिक माता-पिता नोड्स हो सकता है क्योंकि कुछ उत्पाद "समूह" हैं।एसक्यूएल सर्वर .nodes() नाम से एक्सएमएल पैरेंट नोड्स
मैं इसे प्राप्त करने तक नाम ("solutionnumber") द्वारा पैरेंट नोड्स की जांच कैसे करूं? किसी भी सहायता के लिए धन्यवाद।
गलत शब्दावली। फिर भी, "समाधान संख्या" की तलाश में है। – duffn