access两库合并如何更新或替换原有的记录

时间:2022-01-11 08:57:19
一个数据库里面有两个表a 和 b,现在把B的数据更新到A里面,两个表的结构一样.通过对比ID相同.把整条都替换成B里面的数据.如果没有相同.就新增进去.

12 个解决方案

#1


一条insert一条update不就行了嘛。

#2


引用 1 楼 u013608453 的回复:
一条insert一条update不就行了嘛。

不会写啊.求语句.

#3


update a inner join b on a.id=b.id set a.数据=b.数据

#4


引用 3 楼 ACMAIN_CHM 的回复:
update a inner join b on a.id=b.id set a.数据=b.数据


如果里面有多个字段应该怎么写.有名字,地址,电话.

#5


select b.* from a left join b on a.id=b.id where b.id is null
union all
select b.* from a inner join b on a.id=b.id 

#6


引用 5 楼 WWWWA 的回复:
select b.* from a left join b on a.id=b.id where b.id is null
union all
select b.* from a inner join b on a.id=b.id 


这是个查询的?.查出来是空的数据表格.不能把B替换进A里面

#7


假设两表通过ID连接

select b.* from a right join b on a.id=b.id where a.id is null
 union all
 select b.* from a inner join b on a.id=b.id 

#8


引用 4 楼 aaaaa7618 的回复:
Quote: 引用 3 楼 ACMAIN_CHM 的回复:

update a inner join b on a.id=b.id set a.数据=b.数据


如果里面有多个字段应该怎么写.有名字,地址,电话.


update a inner join b on a.id=b.id set a.名字=b.名字,a.地址=b.地址,a.电话=b.电话

#9


引用 7 楼 WWWWA 的回复:
假设两表通过ID连接

select b.* from a right join b on a.id=b.id where a.id is null
 union all
 select b.* from a inner join b on a.id=b.id 

还是替换不进去,已经上传了.帮我看看
http://access911.net/csdn/FileDescription.asp?mdb=2014-3-14&id=13

#10


引用 8 楼 ACMAIN_CHM 的回复:
Quote: 引用 4 楼 aaaaa7618 的回复:

Quote: 引用 3 楼 ACMAIN_CHM 的回复:

update a inner join b on a.id=b.id set a.数据=b.数据


如果里面有多个字段应该怎么写.有名字,地址,电话.


update a inner join b on a.id=b.id set a.名字=b.名字,a.地址=b.地址,a.电话=b.电话


这个好用.成功了,多谢多谢

#11


查询得出的记录是否正确,直接用查询出来的数据生成1个表即可

#12


引用 11 楼 WWWWA 的回复:
查询得出的记录是否正确,直接用查询出来的数据生成1个表即可


查出来是B表上的数据.自动ID显示是B表的.关键无法删掉A表中的这些数据.
ACMAIN_CHM  的方法已经帮解决替换进去了.但里面的新ID数据无法随后增加进去(如果没有相同.就新增进去).

#1


一条insert一条update不就行了嘛。

#2


引用 1 楼 u013608453 的回复:
一条insert一条update不就行了嘛。

不会写啊.求语句.

#3


update a inner join b on a.id=b.id set a.数据=b.数据

#4


引用 3 楼 ACMAIN_CHM 的回复:
update a inner join b on a.id=b.id set a.数据=b.数据


如果里面有多个字段应该怎么写.有名字,地址,电话.

#5


select b.* from a left join b on a.id=b.id where b.id is null
union all
select b.* from a inner join b on a.id=b.id 

#6


引用 5 楼 WWWWA 的回复:
select b.* from a left join b on a.id=b.id where b.id is null
union all
select b.* from a inner join b on a.id=b.id 


这是个查询的?.查出来是空的数据表格.不能把B替换进A里面

#7


假设两表通过ID连接

select b.* from a right join b on a.id=b.id where a.id is null
 union all
 select b.* from a inner join b on a.id=b.id 

#8


引用 4 楼 aaaaa7618 的回复:
Quote: 引用 3 楼 ACMAIN_CHM 的回复:

update a inner join b on a.id=b.id set a.数据=b.数据


如果里面有多个字段应该怎么写.有名字,地址,电话.


update a inner join b on a.id=b.id set a.名字=b.名字,a.地址=b.地址,a.电话=b.电话

#9


引用 7 楼 WWWWA 的回复:
假设两表通过ID连接

select b.* from a right join b on a.id=b.id where a.id is null
 union all
 select b.* from a inner join b on a.id=b.id 

还是替换不进去,已经上传了.帮我看看
http://access911.net/csdn/FileDescription.asp?mdb=2014-3-14&id=13

#10


引用 8 楼 ACMAIN_CHM 的回复:
Quote: 引用 4 楼 aaaaa7618 的回复:

Quote: 引用 3 楼 ACMAIN_CHM 的回复:

update a inner join b on a.id=b.id set a.数据=b.数据


如果里面有多个字段应该怎么写.有名字,地址,电话.


update a inner join b on a.id=b.id set a.名字=b.名字,a.地址=b.地址,a.电话=b.电话


这个好用.成功了,多谢多谢

#11


查询得出的记录是否正确,直接用查询出来的数据生成1个表即可

#12


引用 11 楼 WWWWA 的回复:
查询得出的记录是否正确,直接用查询出来的数据生成1个表即可


查出来是B表上的数据.自动ID显示是B表的.关键无法删掉A表中的这些数据.
ACMAIN_CHM  的方法已经帮解决替换进去了.但里面的新ID数据无法随后增加进去(如果没有相同.就新增进去).