最後の検索条件パラメーターに列名を渡す次のような構文はどちらもサポートしていないCONTAINS
か、サポートしていないようです。CONTAINSTABLE
SELECT *
FROM dbo.Articles AS a
WHERE EXISTS
(
SELECT *
FROM dbo.Terms AS t
INNER JOIN CONTAINSTABLE(dbo.Articles, (ArticleBody), t.FulltextTerm)
AS ct ON ct.[Key] = a.ArticleId
)
上記のクエリは、「't' 付近の構文が正しくありません」というエラー メッセージを返します。
Terms
テーブルには列を持つ複数の行が含まれており、FulltextTerm
それらのFulltextTerm
値のいずれかが ArticleBody にある場合、特定の記事が選択されるように一致する必要があります。これが私が達成しようとしていることです。
CONTAINS
CONTAINSTABLE
検索条件パラメーターの文字列リテラルまたは変数のみをサポートしているように見えますが、これは非常に制限的です。Terms
それが唯一のオプションである場合、カーソルまたはループを使用してテーブルを反復処理する必要がある場合、さらに多くのコードが必要になり、確かにはるかに遅くなります。
ここにトリックがありませんか、または誰かが提案できる回避策があります-できればセットベースのソリューション、つまりループを回避します。