2017-12-01 17 views
0

CSN '을 사용하지만,'CSN '을 한 텍스트 결과가 아닌 모든 열의 결과로 변경하는 방법은 무엇입니까?SQL 서버 전체 텍스트 검색 내가</p> <p>는 내가 텍스트를 쿼리 할 때 '결과를 얻을 수 있어요 다른 필드의 결과에 대한 SQL 서버 2016에서 전체 텍스트 검색을 기반으로하는 것을 시도하고있다

예를 들어 다른 표에서 SX라는 열의 모든 결과와 동일한 시트 열의 모든 항목은 무엇입니까?

SELECT * 
FROM dbo.sheet 
WHERE CONTAINS(sheet, 'CSN') 

답변

0

은 내가 아는 한 CONTAINS에 검색 용어로 열 참조를 사용하는 방법이 없습니다. 당신이 변수로 검색어를 넣어 관리하는 경우 그러나 CONTAINS 그것을 받아 들일 것입니다 :

DECLARE @searchTerm VARCHAR(10) = 'CSN' 
SELECT * 
FROM dbo.sheet 
WHERE CONTAINS(sheet, @searchTerm) 

또는

DECLARE @searchTerm VARCHAR(10) = '' 
SELECT TOP 1 @searchTerm=SX FROM table2 WHERE ... 

SELECT * 
FROM dbo.sheet 
WHERE CONTAINS(sheet, @searchTerm) 

는 또 다른 방법은 검색 결과 테이블을 반환 사용자 정의 함수를 만들 수 있습니다 검색 용어를 매개 변수로 전달합니다. 기능 내에서 SELECT ... WHERE CONTAINS(sheet, @funcParam)으로 전화 할 것입니다. 그런 다음 CROSS APPLY을 사용하여 테이블 값 함수의 결과에 참여해야합니다.