2014-01-30 54 views
0

我想在子服務器中的全文搜索的「包含」中使用子查詢作爲搜索詞。 一些事情這樣的,全文搜索中的子查詢包含

SELECT TOP (1) DocumentDate, Auto_FullText 
FROM  tblDocuments 
WHERE  CONTAINS(Auto_FullText, (Select FirstName From tblUser Where UserId=1)) 

不幸的是,它不工作...

請推薦這樣做的另一種方式。

回答

0

不知道如果你能做到這一點,但另一個更簡單的選擇會是這樣的....

聲明一個變量存儲值到這個變量,並通過這個變量設置爲包含在FTS查詢子句

DECLARE @FirstName NVARCHAR(100); 

SELECT @FirstName = FirstName 
FROM tblUser 
WHERE UserId=1; 


SELECT TOP (1) DocumentDate, Auto_FullText 
FROM tblDocuments 
WHERE CONTAINS(Auto_FullText, @FirstName); 
+0

其實我使用'查看',所以不能聲明變量/參數。 – user3255225

+0

如果它的一個視圖,爲什麼你不能硬編碼的名字的值後,所有的意見只用於靜態數據視圖。考慮使用存儲過程或多語句表值函數,如果給定ID上的名字可以更改。 –

+0

非常感謝阿里。 – user3255225