我想从表中删除所有记录,其中所选字符串值包含在另一个表中的另一个值中(忽略区分大小写)。
例如:如果value1="Hello"
(来自一个表)和value2-"Hello word"
(来自另一个表),那么该记录应该被删除。
DELETE FROM [table1]
WHERE value1 LIKE '%' + (SELECT value2 FROM [table2]) + '%'
但是该SQL语句返回错误。
答案 0 :(得分:5)
您可以使用存在标准:
delete
from Table1 T1
where exists (select T2.value2 from Table2 T2 where T1.value1 like '%'+T2.value2+'%')
答案 1 :(得分:2)
DELETE T1
FROM TABLE1 T1
INNER JOIN TABLE2 T2
ON T1.VALUE1 LIKE ('%'+ T2.VALUE2 + '%')
指定要删除的表格。