A表
线别 | 代码 | 名称
----------------------
01 | 207 | 北京
01 | 208 | 郑州
01 | 209 | 南京
30 | 101 | 北京
30 | 103 | 石家庄
30 | 104 | 邯郸
30 | 108 | 郑州
B表
标志符 | 线别 | 代码 | 名称
----------------------
A07 | 01 | 207 | 北京
A07 | 01 | 208 | 郑州
A07 | 01 | 209 | 南京
AS2 | 30 | 101 | 北京
AS2 | 30 | 103 | 天津
AS2 | 30 | 104 | NULL
AS2 | 30 | 108 | 郑州
A表是标准字典表..里面含有统一的线路,代码.名称.线路和代码能确定一个站名.
B表的线别和代码是正确的..但是名称不一定正确...且同一组数据的标识符是一样的..
现在要根据A表把B表中数据按标识符把站名同步过来...
如何写update语句..
------解决方案--------------------
update a set 名称=b.名称 from b where a.代码=b.代码
------解决方案--------------------
update b
set b.名称=a.名称
from a inner join b on a.线别=b.线别 and a.代码=b.代码
where b.名称<>a.名称
------解决方案--------------------