Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MSSQL全文搜索-仅搜索部分表行_Sql_Sql Server 2008_Full Text Search - Fatal编程技术网

MSSQL全文搜索-仅搜索部分表行

MSSQL全文搜索-仅搜索部分表行,sql,sql-server-2008,full-text-search,Sql,Sql Server 2008,Full Text Search,是否有办法将搜索限制在表中的特定行 例如: 在一个大表上,我只想搜索具有特定公司ID的行: select * from Actions where Company_ID=1253 and CONTAINS(ItemDesc, 'ABC') SELECT AC.*, col1.RANK FROM Actions AC INNER JOIN CONTAINSTABLE(Actions, ItemDesc, 'ABC',50) as col1 on col1.

是否有办法将搜索限制在表中的特定行

例如:

在一个大表上,我只想搜索具有特定公司ID的行:

select *
from Actions
where Company_ID=1253
and  CONTAINS(ItemDesc, 'ABC')


SELECT
    AC.*,    
    col1.RANK
FROM Actions AC
INNER JOIN CONTAINSTABLE(Actions, ItemDesc, 'ABC',50) as col1  
    on col1.[KEY] = AC.ActionId
where Company_ID=1253
我尝试了两个示例,我认为搜索首先在所有表行上运行, 然后按公司ID进行过滤

我正在寻找一种在搜索前限制行数的方法


谢谢。

像这样的事情是怎么回事

SELECT *
FROM
(
    SELECT *
    FROM Actions
    WHERE Company_ID = 1253
) AS CompanyFilteredActions
WHERE CONTAINS(ItemDesc, 'ABC')

您需要查看查询计划和性能,但我认为这至少可以满足您的要求。

类似的操作是如何进行的

SELECT *
FROM
(
    SELECT *
    FROM Actions
    WHERE Company_ID = 1253
) AS CompanyFilteredActions
WHERE CONTAINS(ItemDesc, 'ABC')
您需要查看查询计划和性能,但我认为这至少可以满足您的要求