3

我有两个表表 1 与列

ID Text           email ID
============================
1  This is Test   123@g.com    
2  Make my day    1234@g.com

表 2 一列

words(column)
=============    
Test    
trip    
day

现在我想做的是将文本(每个单词)Table 1与每一行 ow 单词进行比较TABLE 2,如果找到,则 id 应该记录在不同的表上。

例如:如果 fromTABLE1 Test是单词,它是TABLE 2单词列中的行值。所以它应该登录ID =1另一个表。

同样,一旦找到这个词,它就不应该进行进一步的迭代。

4

3 回答 3

3

这有效

SELECT t1.*,t2.words
FROM Table1 t1
JOIN Table2 t2
ON PATINDEX('%' + t2.words + '%',t1.text)>0

输出

ID  Text            email_ID    words
1   This is Test    123@g.com   Test
2   Make my day     1234@g.com  day
于 2012-09-26T11:09:01.223 回答
3

尝试这个:

select *
from TABLE1 
join 
TABLE2
on ' '+Text+' ' like '% '+words+' %'


SQL小提琴演示

于 2012-09-26T08:47:12.180 回答
1

您可以使用CHARINDEX以下功能:

select *
from TABLE1 t1
where exists 
(
   select 1
   from TABLE2 t2
   where CHARINDEX(t2.words,t1.text)>0
)

链接到文档。

于 2012-09-26T09:42:37.800 回答