SQL 服务器 : delete where string value contains another value

标签 sql sql-server sql-delete sql-like sql-in

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

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

DELETE FROM [table1] 
WHERE value1 LIKE  '%' + (SELECT value2 FROM [table2]) + '%'

但是该 SQL 语句返回错误。

最佳答案

您可以使用现有条件:

delete
from Table1 T1
where exists (select T2.value2 from Table2 T2 where T1.value1 like '%'+T2.value2+'%')

关于SQL 服务器 : delete where string value contains another value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39225297/

相关文章:

MySQL:基于 DELETE 和 INSERT 增加列值的触发器

SQL存储过程-删除与输入列表匹配的每一行

mysql - 在另一列中使用自动递增的 ID

sql-server - 当基表位于不同的数据库中时,在 View 而不是基表上授予 Select 权限

sql-server - 为什么我的存储过程接收到一个空参数?

c# - sql datediff 的精确 c# 结果

Java Mysql删除日期之间的记录语法错误

php - 在单个 PHP 文件中连接两个数据库

sql - 将 varchar 转换为 bigint 并仅返回大于特定数字的结果?

mysql - 单个 SQL 查询