2013-02-02 40 views
2

我有一個名爲OriginalWord的列的表A和一個列名爲mySentence的表B.檢查字符串在另一個字段中存在

OriginalWord有行,如:

  • 星級
  • 數據
  • 檢查

存儲的任何一個字。

mySentence用句子存儲行例如:這是一顆明星。

如果OriginalWord中的任何單詞存在於mySentence中,我想列出mySentence中的所有行。

因此,上面例子中的mySentence將被列出,但如果mySentence的行是「這是我的父親」,則不會。

如何在T-SQL中編寫該代碼?

+0

您可以使用全文搜索。 –

回答

1

由於LIKE %%謂詞擺脫索引用法,你可以使用它來實現你想要的。

SELECT DISTINCT 
    T1.mySentence 
FROM Table1 T1 
    INNER JOIN Table2 T2 
     ON ' '+ T1.mySentence + ' ' LIKE '% ' + T2.OriginalWord + ' %' 

UPDATE

SQL FIDDLE DEMO

0

對於簡單的場景,喲可以使用LIKE謂詞是這樣的:

SELECT 
    s.mySentence 
FROM Sentences s 
INNER JOIN Words w ON s.mySentence LIKE '%' + w.OriginalWord + '%'; 

SQL Fiddle Demo

相關問題