sql server - How to locate Rows in SQL Table where xPath -


निम्न सारणी की कल्पना करें:

  ----------- -------------------------------------------------- आईडी | XML ------------------------------------------------- ------------ 1 | & Lt; प्रपत्र & gt; & lt; ऑब्जेक्ट आईडी = "1" / & gt; & lt; / फॉर्म & gt; 2 | & Lt; प्रपत्र & gt; & lt; ऑब्जेक्ट आईडी = "2" /> & lt; / Form & gt; 3 | & Lt; प्रपत्र & gt; & lt; ऑब्जेक्ट आईडी = "2" /> & lt; / Form & gt; -------------------------------------------------- -----------  

मुझे सभी पंक्तियों को खोजने के लिए कुछ एसक्यूएल की आवश्यकता है जहां आईडी और प्रपत्र / ऑब्जेक्ट @ आईडी समान नहीं हैं

I SQL2000 का उपयोग कर रहा हूँ I आईडी इंट फ़ील्ड है और एक्सएमएल एक टेक्स्ट फ़ील्ड है।

इसके बाद के संस्करण में डेटा को सरलीकृत किया गया है और फॉर्म टैग के अंदर अतिरिक्त अलग-अलग तत्व होंगे।

मैं कैसे कर सकता हूं इस? क्या मैं ऐसा कर सकता हूँ?

मुझे नहीं लगता कि SQL2000 में ऐसा करने का एक अच्छा तरीका है। SQL2005 के साथ आप मूल्य खींचने के लिए एक्सएमएल डेटा प्रकार का उपयोग कर सकते हैं।

मेरा सुझाव

के साथ होगा <चयन करें> SELECT * से टेबल T WHERE CHARINDEX ('ID = "'+ CAST (टीएआईडी एएस VARCHAR) +' '', टीएक्सएमएल) = 0

लेकिन यह गंदा और धीमा है।


Comments