2

フルテキスト検索の結果に問題があり、name列に「スプレー」を含む行を見つけ、description列に「men」が含まれていない行を見つける必要があります。SQL Serverのフルテキスト検索の問題

select top 10 ftt.RANK, ID, name, description 
from mod_product_all_fields 
INNER JOIN containstable(mod_product_all_fields,(name),' ("spray") ') as ftt 
    ON mod_product_all_fields.ID=ftt.[KEY] 
INNER JOIN containstable(mod_product_all_fields,(description),' not ("men") ') as ftt2 
    ON mod_product_all_fields.ID=ftt2.[KEY] 
ORDER BY ftt.RANK DESC 

このクエリは、私が「ない( 『男性』)」の近くに構文エラーを持っているデバッガを表示、正しく実行されません。

:あなたは私の問題の解決策は、 NOT <a word>を検索する方法については、以前の回答に私のポインタを拡張してくれ

おかげ

+0

[これは役立つかもしれません](http://stackoverflow.com/questions/508449/how-to-implement-not-like-as-the-search-condition-for-containstablefull-text-que)。 –

答えて

2

を教えてください持っている場合は

は、私は、これはトリックを行うべきだと思います

select top 10 ftt.RANK, ID, name, description 
from mod_product_all_fields 
INNER JOIN containstable(mod_product_all_fields,(name),' ("spray") ') as ftt 
    ON mod_product_all_fields.ID=ftt.[KEY] 
LEFT JOIN containstable(mod_product_all_fields,(description),' ("men") ') as ftt2 
    ON mod_product_all_fields.ID=ftt2.[KEY] 
WHERE 
    ftt2.KEY IS NULL -- Eliminate matches on "men" 
ORDER BY ftt.RANK DESC 
+0

動作しません あなたのお返事ありがとうございます – Zakaria

関連する問題