SQL Server:删除字符串值包含其他值的位置

Kam*_*l W 2 sql sql-server sql-in sql-delete sql-like

我想从表中删除所有记录,其中选择的字符串值包含在另一个表中的另一个值中(忽略区分大小写).

例如:if value1="Hello"(来自一个表)和value2-"Hello word"(来自另一个表),那么该记录应该被删除.

DELETE FROM [table1] 
WHERE value1 LIKE  '%' + (SELECT value2 FROM [table2]) + '%'
Run Code Online (Sandbox Code Playgroud)

但是该SQL语句返回错误.

Joh*_*nHC 5

您可以使用存在标准:

delete
from Table1 T1
where exists (select T2.value2 from Table2 T2 where T1.value1 like '%'+T2.value2+'%')
Run Code Online (Sandbox Code Playgroud)