我想根据另一个表中的值在表上运行更新。
所以我Table 1
与Column A
我Table 2
与Column B
我想运行更新,以便如果A列与LI列相似,则A列中的每一行都会更新为“RANDOM STRING”。
到此为止非常简单。但是,B列中的字符串可能出现在A列的字符串中的任何位置。
所以查询应该像这样运行
UPDATE Table1
SET ColumnA = 'RANDOM STRING'
WHERE ColumnA LIKE '%Table2.ColumnB%'
但是当我使用它时没有行更新,尽管WHERE条件肯定会返回结果
我正在运行SQL server 2008
答案 0 :(得分:3)
试试这个
update table1
set ColumnA = 'RANDOM STRING'
where ColumnA in
(select table1.ColumnA from table1 inner join table2 on table1.ColumnA like '%'+Table2.ColumnB+'%')
答案 1 :(得分:0)
在MySql中, 你可以这样做。
UPDATE Table1
SET ColumnA = 'RANDOM STRING' from table1 , table2
WHERE table1.ColumnA LIKE concat('%',table2.columnb,'%')