查询语句,用一张表的数据将另一张表中的数据替换掉,被替换表中的数据不变

替换的表数据

图片说明

需要被替换的表数据

图片说明

替换comEan相同的表数据,其中字段都是对应的
被替换的表数据实际上不更改的,只是查询出来后表数据显示的是替换的表数据

1个回答

这样写 需要更新多少个字段 就自己照着写就行了

SET SQL_SAFE_UPDATES = 0;
UPDATE table_a a
SET
name = (CASE id
WHEN
id
THEN
(SELECT
name
FROM
table_b
WHERE
id = a.id)
END),
nick_name = (CASE id
WHEN
id
THEN
(SELECT
other_nick_name
FROM
table_b
WHERE
id = a.id)
END)
where id in (select id from table_b);

这种方式能保证原来的数据在库中的顺序 

如果不考虑可以直接先删除掉相同的 再复制过去就行了 
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐