SQL Server全文搜索FREETEXTTABLE搜索多个列

标签 sql tsql

我正在使用以下查询,使用全文搜索从表中返回结果。
在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/

相关文章:

mysql - MySQL 中何时使用单引号、双引号和反引号

php - 通过来自转义数据库条目的输入的 SQL 注入(inject)可能吗?

json - SQL Server : How to query data all rows as Json object into next to other columns?

visual-studio-2008 - 不支持 DataSet TableAdapter 抛出 OVER SQL 构造或语句

sql - 当所有重叠的日期范围同时重叠时获取所有重叠的日期范围

sql-server - 这段代码是做什么的 : `dbo.sp_set_sqlagent_properties @local_host_server`

sql - 在函数 xp_dirtree 上传递变量时出错

sql - [My]SQL 可以组合多个重叠的复合索引吗?

mysql - 将 select 语句转换为更新(包括 exists & having)

sql - 构建不包含基于层次结构的数据的 SQL 查询