2

全文検索結果に問題があります。列に「spray」が含まれ、name列に「men」が含まれていない行を検索する必要がありdescriptionます。

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('men')」の近くに構文エラーがあることを示します。

私の問題の解決策があれば教えてください

ありがとう

4

1 に答える 1

2

検索方法に関する以前の回答への私のポインタを拡張すると、NOT <a word>これでうまくいくはずだと思います。

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 
于 2011-09-16T13:22:51.210 に答える