3

我在数据库中有一个包含项目描述的表。我希望能够让用户输入一个搜索词并返回至少有一个匹配的行,按他们拥有的匹配数降序排列。

我不知道这是否可能,我无法通过谷歌搜索找到答案,所以我来这里。

基本上如果用户输入“truck blue with gold two tone”,就会生成:

    SELECT * FROM MyItemsTable 
    WHERE contains(Description, 'truck or blue or with or gold or two or tone')

并让该返回按匹配的单词数排序。

任何建议将不胜感激。这张表会随着时间变得非常大,所以效率也在我的脑海中。

4

2 回答 2

0

这似乎工作得很好,非常感谢 Gordon Linoff。

SELECT * FROM MyItemsTable m
INNER JOIN
CONTAINSTABLE(MyItemsTable, Description, 'truck or blue or with or gold or two or tone') AS l     ON m.MyItemsTable=l.[KEY]
于 2012-08-16T18:56:18.810 回答
0

参考

以防您有“卡车蓝配金色两音”之类的唱片。您可以使用以下查询。

SELECT * FROM 
MyItemsTable as t
JOIN CONTAINSTABLE(MyItemsTable , Description,'"truck"') fulltextSearch
ON
t.[Id] = fulltextSearch.[KEY]

这也将带来这个记录。

于 2012-08-16T21:07:22.107 回答