我的业务需求说明:
感觉是一个较为常见的需求。我所属的项目中的某表A 因为业务需要增加了几个字段,同时这几个字段也是B表的字段,A表和B表也存在关联关系,需要将A表中的这几个字段通过关联关系从B表中同步过来。
因为我sql较弱,所以最开始尝试解决时首先想到的是insert into select 或select into 等语法,事实上是我走了歪路,因为我需要的是通过关联关系对已有的两个表进行某些字段的更新操作, 如果是仅此需求,使用update语句更为简单明了:
update Atable set (field1,field2,field3) =
(select g.field1, g.field2, g.field3 from Btable g where g.flag = 1 and g.id=Atable.id);
通过set后限定字段集合 = 通过条件查询出的结果集合 进行更新操作。