<Root>
<Sub>
<Name>a</Name>
<Value>1</Value>
</Sub>
<Sub>
<Name>b</Name>
<Value>2</Value>
</Sub>
</Root>
我知道我可以做一个
SELECT * FROM table WHERE column.exist('/Root/Sub[Name="a" and Value="1"]') = 1
但如何过滤名称/值对? a / 1和b / 2?
答案 0 :(得分:2)
怎么样:
SELECT * FROM table WHERE
(column.exist('/Root/Sub[Name="a" and Value="1"]') = 1 OR
(column.exist('/Root/Sub[Name="b" and Value="2"]') = 1)
请注意附加的括号。
答案 1 :(得分:-1)
这将按预期工作:
SELECT *
FROM TableName
WHERE XMLColumnName.Exist('/Root/Sub[Id = "IdValue"][LimitType = "LimitTypeName"]') = 1