在SQL Server中访问XML数据

在SQL Server中访问XML数据,sql,sql-server,Sql,Sql Server,我有xml数据,它以下面的格式出现在一个表中,所有内容都是相同的,每个级别的节点数都是相同的。表中各行之间唯一不同的是“ID”属性值和“Value”节点值。我需要的是从每个节点提取这些值,这样我就可以在单独的where子句中使用它们 <ProductVariantAttribute ID="164"> <ProductVariantAttributeValue> <Value>241</Value> </Pro

我有xml数据,它以下面的格式出现在一个表中,所有内容都是相同的,每个级别的节点数都是相同的。表中各行之间唯一不同的是“ID”属性值和“Value”节点值。我需要的是从每个节点提取这些值,这样我就可以在单独的where子句中使用它们

<ProductVariantAttribute ID="164">
    <ProductVariantAttributeValue>
        <Value>241</Value>
    </ProductVariantAttributeValue>      
</ProductVariantAttribute>

<ProductVariantAttribute ID="443">
    <ProductVariantAttributeValue>
        <Value>1721</Value>
    </ProductVariantAttributeValue>
</ProductVariantAttribute>


241
1721


感谢您的帮助

我用一种不同的方法解决了这个问题,它不使用where连接,因为您的代码有问题,运行查询可能需要更长的时间。最后,我在where子句中将准xml字符串值与预先从数据库中提取的所需值进行了比较,因此应该运行得更快

谢谢你的帮助