में XML दस्तावेज़ में नोड ऑर्डर ढूँढना मुझे XML दस्तावेज़ में नोड्स का ऑर्डर कैसे मिल सकता है?SQL सर्वर
क्या मैं इस तरह के एक दस्तावेज है:
<value code="1">
<value code="11">
<value code="111"/>
</value>
<value code="12">
<value code="121">
<value code="1211"/>
<value code="1212"/>
</value>
</value>
</value>
और मैं एक मेज
CREATE TABLE values(
code int,
parent_code int,
ord int
)
एक्सएमएल से मानों का क्रम संरक्षण की तरह परिभाषित में इस बात को पाने के लिए कोशिश कर रहा हूँ दस्तावेज़ (उन्हें उनके कोड द्वारा आदेश नहीं दिया जा सकता है)। मैं कहना है
SELECT code
FROM values
WHERE parent_code = 121
ORDER BY ord
सक्षम होना चाहते हैं और परिणाम, निर्धारणात्मक, होना चाहिए
code
1211
1212
मैं
SELECT
value.value('@code', 'varchar(20)') code,
value.value('../@code', 'varchar(20)') parent,
value.value('position()', 'int')
FROM @xml.nodes('/root//value') n(value)
ORDER BY code desc
की कोशिश की है लेकिन यह position()
समारोह को स्वीकार नहीं करता (' position()
'का उपयोग केवल भविष्यवाणी या XPath चयनकर्ता के भीतर किया जा सकता है)।
मुझे लगता है कि यह किसी भी तरह से संभव है, लेकिन कैसे?
आप नोड्स के परिमित गहराई है? यदि नहीं, तो यह दर्द होगा। और पुष्टि करने के लिए: आप कोड पर भरोसा नहीं कर सकते? – gbn
... और आप एक्सएमएल से क्या आउटपुट चाहते हैं? – gbn
मैंने अधिक जानकारी प्रदान करने के लिए प्रश्न अपडेट किया। और नहीं, एक अनंत गहराई है। – erikkallen