我正在使用SQL Server 2012.我需要使用單個文本字段實現搜索功能。跨多個表的SQL簡單搜索功能
比方說,我有如下表:
--------------------------------------------------------------------------------
FIRSTNAME LASTNAME CITY PROMOYEAR EMPLOYOR
--------------------------------------------------------------------------------
John Doe Boston 2005 Mc Donald
Marc Forestier Bruxelle 2010 Private bank
Céline Durand Paris 1999 Food SA
Simon Forestier Toulouse 2001 Forestier SARL
John Smith New York 1992 Events Org.
Sonia Grappe Toulon 2010 Forestier SARL
--------------------------------------------------------------------------------
行爲如下:
- 所有關鍵詞(空格隔開)必須上搜索所有列。
- 一個
LIKE
應適用於每一個字 - 如果只能用一個詞搜索,返回包含如果幾個單詞進行搜索這個詞
- 所有記錄,只返回的記錄包含的不同詞數量最多(見「弗賴斯」下面的例子)
- 我需要一個查詢,沒有TSQL
我嘗試了很多東西,但它並不像看起來那麼簡單。
一些例子:
「約翰」:
-------------------------------------------------------------------------------
FIRSTNAME LASTNAME CITY PROMOYEAR EMPLOYOR
-------------------------------------------------------------------------------
John Doe Boston 2005 Mc Donald
John Smith New York 1992 Events Org.
-------------------------------------------------------------------------------
「李四」:
-------------------------------------------------------------------------------
FIRSTNAME LASTNAME CITY PROMOYEAR EMPLOYOR
-------------------------------------------------------------------------------
John Doe Boston 2005 Mc Donald
-------------------------------------------------------------------------------
「弗賴斯」:
-------------------------------------------------------------------------------
FIRSTNAME LASTNAME CITY PROMOYEAR EMPLOYOR
-------------------------------------------------------------------------------
Marc Forestier Bruxelle 2010 Private bank
Simon Forestier Toulouse 2001 Forestier SARL
Sonia Grappe Toulon 2010 Forestier SARL
-------------------------------------------------------------------------------
「2010年xelle」 :
FIRSTNAME LASTNAME CITY PROMOYEAR EMPLOYOR
--------------------------------------------------------------------------------
Marc Forestier Bruxelle 2010 Private bank
--------------------------------------------------------------------------------
本示例使用單個表;實際上,我的5個專欄來自4個不同的表格,所以實施全文搜索會稍微複雜一點!
「我需要單個查詢,沒有TSQL」是什麼意思?爲什麼不顯示你嘗試過的許多事情中的一個或兩個。 –
聽起來像全職搜索的工作。 http://technet.microsoft.com/en-us/library/ms142571.aspx –
@KarlKieninger對不起,我的意思是沒有動態查詢,因爲我需要使用表值函數來運行查詢。 – Yann39