2

私のテーブルには 2 つの列が含まれています。1 つはIdof 型intで、もう 1 つは typeXmlです。

Xml列には、この構造のデータがあります

<Fields>
    <Field name='aa' value='000'/>
    <Field name='bb' value='111'/>
    <Field name='cc' value='222'/>
</Fields>

aaここで XQuery を使用して、名前属性のフィールド タグがで値属性が であり111、かつ名前属性のフィールド タグが属性でbb値属性がであるすべての行を取得するためにテーブルをクエリしたいと考えています222

つまり、名前と値のペアを指定して、xml データが一致する行を取得したいと考えています。

ありがとうございました !

4

1 に答える 1

1

次のようなものを使用できます(テーブルまたは列の名前について言及していないため、私は自分で何かを使用しました-必要に応じてそれらを調整します!):

SELECT 
    (list of columns)
FROM 
    dbo.YourTableNameHere
WHERE 
    XmlContent.exist('/Fields/Field[@name = "aa"][@value = "000"') = 1

<Field>これにより、XML に属性name = "aa"を持つノードが含まれるテーブルからすべての行が返され、value = "000"

于 2012-06-17T09:39:42.003 に答える