私は一日を費やしてこれに対する答えを探し、3つの異なる検索エンジンのバリエーションの後では不可能であるという事実に自分自身を解決しました。ここに私の問題がある。私はプリンタのモデル番号のテーブルを検索する必要があります。プリンタモデルは標準化されていないため、モデルのさまざまな部分が異なる注文になる可能性があります。SQL - 正確な単語の一致を任意の順序で検索
HP Officejetのプロ8715
HPのOfficejetの8715 Proの
の両方が明らかに同じプリンタですが、彼らは私たちとベンダーの間で共有DB内の両方の方法で現れます。 HP OfficeJet Pro 8715をで検索すると、HP OfficeJet 8715 Proも返されますが、HP OfficeJet Pro 8715dwなどは返されません。
要約すると、単語は任意の順序で指定できますが、単語は正確に一致する必要があります。
私はすでに検索文字列を#temp
テーブルに解析しているので、各行に単語があり、結果を比較する方法です。
INSERT INTO #results
SELECT Make, Model
FROM tDevices
WHERE (Make LIKE '%' + @MAKE + '%') AND (Model LIKE '%' + @MODEL + '%') AND (Model LIKE '%' + @MODEL2 + '%')
ここで、各モデル変数は、モデル内の別の単語です。これは素晴らしい作品が、返しHP Officejetの 8715プロだけでなくHP Officejetのプロ8715dwとして
これは可能ですか?
おかげ
を使用しているDBMS? –
'Make'が常に先頭にある場合、' Model'の単語順のすべての順列に対して明示的にチェックするだけですか? – shash678
これを回答できますか?これは私たちのための最良のソリューションであった。 –