我正在使用以下查询,使用全文搜索从表中返回结果。
在SQL2000中,只能搜索表中的一列或所有列。在SQL 2008中可以吗?
我想搜索两个表“问题”和“解决方案”(在同一表中都建立了索引):
DECLARE @topRank int set @topRank=(SELECT MAX(RANK)
FROM FREETEXTTABLE([Support_Calls], Problem, 'test', 1))
SELECT [ID] AS [Call No],Company_Name, Problem, Solution, CONVERT(VARCHAR(20),CAST((CAST(ftt.RANK as DECIMAL)/@topRank * 100) AS DECIMAL(13,0))) + '%' as Match
FROM [Support_Calls] INNER JOIN FREETEXTTABLE([Support_Calls], Problem, 'test') as ftt ON ftt.[KEY]=[ID] ORDER BY ftt.RANK DESC;
从我可以看到,FREETEXTTABLE不接受多于一个的列?
最佳答案
您可以在括号中指定它们; FREETEXTTABLE(tablename, (col1,col2,col3), 'expr')
或使用星号搜索索引中的所有列。
关于SQL Server全文搜索FREETEXTTABLE搜索多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3430386/