2

有没有办法将搜索限制在表中的特定行。

例如:

在一张大桌子上,我只想搜索具有特定公司 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 过滤

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

谢谢。

4

1 回答 1

0

这样的事情如何表现?

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

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

于 2012-09-13T07:42:50.010 回答