日期:2014-05-17  浏览次数:20661 次

急用!!如何比较数据库中的两个表中 的内容,删除相同的数据,保留不一样的数据
急求!!!

请问,如何比较两个表中的数据,一条条查。如果数据相同,查一条删一条;如果数据不同,分别保留。

最后将两个表中保留的不一样的数据 输出来并共同导入到另外一个专门盛放错误的表中。
PHP

------解决方案--------------------
数据是否相同? 是根据某个字段来判断,还是数据表中每个字段都要比较
可以查询出来这两个表中的所有数据,循环比较
------解决方案--------------------
呵呵,最简单的做法就是查询一个表所有数据循环跟另一个表的比较

还有一个就是直接联表查询,
比如select a,id,b.id from a,b where a.filed1=b.filed1 and a.filed2=b.filed2 and a.filed3=b.filed3

这样查询然后删除了
------解决方案--------------------
1、取得 表A 的记录数备用 select count(*) as cnt from A
2、提取出与表A不同的表B的记录 select * from A union select * from B limit cnt
3、取得 表B 的记录数备用 select count(*) as cnt from B
4、提取出与表B不同的表A的记录 select * from B union select * from A limit cnt

后面怎么做?你自己决定
------解决方案--------------------
可以考虑用存储过程
------解决方案--------------------
不要那么麻烦了,把表发出来,
create table ..
insert into ..

然后把你想要的结果做一份范本出来
------解决方案--------------------
你应该给出测试数据
------解决方案--------------------
select a,id,b.id from a,b where a.filed1=b.filed1 and a.filed2=b.filed2 and a.filed3=b.filed3
然后再删除吧