有两张数据表
表1
表2
第一种
把一张表中的某个字段内容同步到另一张表的字段,前提条件是两张表要有关联字段。
update table_name1 a
set a.name= (select b.name from table_name2 b where a.oid= b.id)
where exists (select 1 from table_name2 c where a.oid= c.id);
PS:
(1)exists用于检查子查询是否至少会返回一行数据(即exists 指定一个子查询,检测行的存在);
(2)该子查询实际上并不返回任何数据,而是返回值True或False
第二种
###############3
UPDATE table_name1 p
LEFT JOIN
table_name2 a
ON p.oid= a.id
SET a.name = p.name
WHERE p.name != ''
#############
UPDATE A
LEFT OUTER JOIN
B ON A.ID = B.ID
LEFT OUTER JOIN
C ON A.ID = C.ID
SET
A.NAME = C.NAME,
A.TYPE = B.TYPE
WHERE
A.ID = #{ID}
AND A.S_ID = #{S_ID}
AND A.P_ID = #{P_ID};