1

我想根据另一个表中的值对一个表运行更新。

所以我Table 1Column A

Table 2Column B

我想运行更新,以便如果 A 列与 B 列相同,则 A 列中的每一行都使用“随机字符串”进行更新。

到这里为止很简单。但是,B 列中的字符串可能出现在 A 列中字符串的任何位置。

所以查询应该像这样运行

UPDATE Table1
SET ColumnA = 'RANDOM STRING'
WHERE ColumnA LIKE '%Table2.ColumnB%'

但是,当我使用它时,不会更新任何行,尽管 WHERE 条件肯定会返回结果

我在跑步SQL server 2008

4

2 回答 2

3

尝试这个

update table1
set  ColumnA = 'RANDOM STRING'
where ColumnA in  
(select table1.ColumnA from table1 inner join table2 on table1.ColumnA like '%'+Table2.ColumnB+'%')
于 2013-10-18T05:58:28.733 回答
0

在 MySql 中,您可以执行此操作。

UPDATE Table1
SET ColumnA = 'RANDOM STRING' from table1 , table2
WHERE table1.ColumnA LIKE concat('%',table2.columnb,'%')
于 2017-05-25T08:40:49.997 回答