2012-03-09 4 views
0

データベースの2つの列、partNoおよびDescriptionを検索するためにSQLクエリを作成しましたが、説明を検索するのにうまく機能しますが、164などの部品番号を検索すると、開始するすべての部品番号164から20には、それはここで言うAPS164-20FreetextTableクエリ

のようなピックアップの結果は、私のSQLコードではありません、私はMSSQL 2005

SELECT FT_TBL.*, KEY_TBL.RANK 
FROM Parts AS FT_TBL 
    INNER JOIN FREETEXTTABLE(Parts,(PartNo, Description), 
    '164') AS KEY_TBL 
     ON FT_TBL.PartNo = KEY_TBL.[KEY] 
ORDER BY KEY_TBL.RANK DESC; 
GO 

を実行している私は、CONTAINSTABLEを試みたが、のdidnその:164などと言います行を返すことはありません

答えて

0

全文検索はtをカバーしません彼のシナリオでは、本質的にテキスト内の部分文字列として検索用語を探しています。

代わりに、従来のワイルドカード検索をお試しください:

SELECT * 
FROM Parts AS FT_TBL 
WHERE FT_TBL.PartNo like '%164%' 
+0

ことができますが、ワイルドカード検索ランク付けすることはできませんか? – user1061995

+1

ワイルドカード検索はpartNoでワイルドカード検索を実行し、0行を返してからフルテキストを実行すると、 – user1061995

+0

ワイルドカード検索ではランクが返されません。 – Keith