次の兄弟値を取得する:は、私はこのようになりますテーブルを持っている
CREATE TABLE CustomerXmlData
(CustomerId int,
CustomerData xml)
CustomerIdの主要顧客テーブルへのリンクとCustomerDataは、このようなXML文書であります
<Person>
<Product>
<Name>ABC</Name>
<Value>500</Value>
</Product>
<Product>
<Name>XYZ</Name>
<Value>600</Value>
</Product>
</Person>
このような行は数十万件あります。擬似コードでは、私がしたいことは、Value
がProduct
のValue
の場合、Name
= 'XYZ' "となります。
要素の属性に基づいて値を取得する方法や、ドキュメント内で一意の親を持つことに基づいて値を取得する方法はわかっていますが、どちらもこの状況での使用ではありません。私は私が欲しいと思っているName
を見つけて、次の兄弟の価値を得ることができる何かを見つけることができません。
私はFOR XML
を使用してエッジテーブルを作成できますが、それをカーソルでループする必要がありますか?私はより効率的なソリューションを望んでいます。
それは、それは(そのXMLテーブルの上にあなた)のXQueryをサポートしているSQL Server 2005の場合です。 http://msdn.microsoft.com/en-us/library/ms345122%28v=sql.90%29.aspx – BigMike
私はXPathのビットを知っていました....今私はもう少し知っています。多くの感謝 –