2013-02-13 20 views
2

我想運行一個查詢,我有一個列上的全文索引,我想運行一個查詢與包含語句,該列正在尋找匹配在另一個表中有列...不帶有靜態文本值或變量....這甚至有可能嗎?全文索引在哪裏包含使用列而不是文本值或變量

select a.field1, a.field2, c.x, c.y, c.z 
from dbo.TableA a 
cross apply(select x,y,z 
      from dbo.TableB b 
      where contains(b.x, a.field1) 

Ç

謝謝!!!!

+0

您是否收到任何錯誤?我不明白爲什麼它不應該工作。 – 2013-02-13 20:51:09

回答

0

這種方式是不可能的,但是您可以使用它。在這種情況下,我使用SELECT語句創建(|)分隔列表。可以使用小節符號(|)代替OR關鍵字來表示OR運算符。

DECLARE @Searchwords nvarchar(4000) = N'' 
SELECT @Searchwords += '|' + a.field1 
FROM dbo.TableA a 
SELECT @Searchwords = STUFF(@Searchwords, 1, 1, '') 

SELECT b.x, b.y, b.z 
FROM dbo.TableB b 
WHERE CONTAINS(b.x, @Searchwords) 
相關問題