2012-09-13 2 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') 

쿼리 계획 및 성능을 살펴 봐야하지만 적어도 사용자가 묻는대로 수행 할 것입니다.