3

列を持つ2つのテーブルTABLE 1があります

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

1 列の表 2

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

今私がしたいのは、 のテキスト (すべての単語) をTable 1の各行の単語と比較することTABLE 2です。見つかった場合は、id を別のテーブルに記録する必要があります。

例: fromTABLE1 Testが word 列の行の値である単語である場合TABLE 2ID =1そのため、別のテーブルにログインする必要があります。

また、単語が見つかったら、それ以上反復するべきではありません。

4

3 に答える 3

3

これを試して:

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


SQL フィドルのデモ

于 2012-09-26T08:47:12.180 に答える
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 に答える
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 に答える