Это вернет вам список идентификаторов из Table1 (id int, txt ntext) с ключевыми сообщениями из Table2 (kwd nvarchar (255)), которые существуют в поле ntext.Количество вхождений сложно, и вам придется написать UDF, предпочтительно CLR, чтобы получить его.
Я определил слово как все, что отделяется пробелом или открывают круглые скобки слева и пробел, закрывают скобками, запятую, точку или точку с запятой справа.Вы можете добавить больше условий, например, кавычки, двойные кавычки и т. Д.
Select Table1.id, Table2.kwd
From Table1
Cross Join Table2
Where patindex(N'%[ (]'+Table2.kwd+N'[ ,.;)]%',N' '+cast(Table1.txt as nvarchar(max))+N' ')>0
Order by id, kwd