属性が可能な値のリストにあるすべての行を返すために XML 列をクエリしようとしています。
XQueryは次のようなものを許可します
SELECT COUNT(*)
FROM table
WHERE xml_col.exist('//Field.[@name=("value1","value2","value3")]') = 1
これは、@name 属性が「value1」、「value2」、または「value3」のいずれかに設定された Field を持つレコードの数を返します。
私がやりたいのは、セット「value1」、「value2」、「value3」を入力パラメーターとして処理できる簡潔なクエリを作成することです。
DECLARE @list NVARCHAR(100)
SET @list = '("value1","value2","value3")'
SELECT COUNT(*)
FROM table
WHERE xml_col.exist('//Field.[@name=sql:variable("@list")]') = 1
もちろん、これは無効です。任意の提案をいただければ幸いです!