首先想到的sql:
update 表2 set 表2.c=(select val from 表2 where 表1.a=表2.a);
但这样会出现在表1中有的行,如果在表2中没有对应的行,值被更新为null.
更改sql:
UPDATE 表2
SET 表2.C =
(SELECT B
FROM 表1
WHERE 表1.A = 表2.A)
WHERE EXISTS
(SELECT 1
FROM 表1
WHERE 表1.A = 表2.A);
附:同一个表中字段拼接sql:
例子:
SELECT CONCAT('工号:',FNumber) FROM T_Employee
更新:
update edu_resource_import e
set e.resource_name =
concat(e.resource_name,
substr(e.upload_file_path,
length(e.upload_file_path) - 6,
3))
where e.change_state = '0'
and e.importer_account = 'chenjianing'
and e.resource_name = '二轮专题突破-中考化学专题突破';