我有一个看起来像这样的表:
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>
有几十万这样的行。在伪代码中,我想做的是“找到where = 'XYZ' 的平均值” Value
。Product
Name
我知道如何根据元素属性或基于文档中唯一的父级来获取值,但在这种情况下,这些都没有任何用处。我找不到任何可以让我找到Name
我想要的然后获得下一个兄弟姐妹的值的东西。
我可以使用FOR XML
和创建一个边缘表,但是我是否必须用光标循环遍历它?我希望有一个更有效的解决方案。