2012-09-13 62 views
2

有没有办法将搜索限制在表格中的特定行。MSSQL全文搜索 - 仅搜索表格行的一部分

例如:

上一大桌我要与特定公司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 

我想这两个例子中,我认为搜索第一个运行在所有的表行, 然后通过COMPANY_ID

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

由于过滤器。

回答

0

这是怎么回事?

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

你需要看看查询计划和性能,但我认为这至少会做你所要求的。