两个数据库中各有一张数据结构、字段相同的表,但表的数据记录略有不同,怎样比较出重复数据并显示?

db.Atest与db.Btest分别包含字段id、name、bm、xb、zz字段。A库表中的数据id、name、bm不允许重复,但B库中各字段没有这一限制。怎样比较出B... db.A test 与db.B test 分别包含字段id、name、bm、xb、zz字段。A库表中的数据id、name、bm不允许重复,但B库中各字段没有这一限制。怎样比较出B库中比A库多的重复数据?(最终目的是要求去重B库,使AB两库的数据一致!) 求方法、SQL代码,谢谢各位! 展开
 我来答
kongxv0001
2012-11-02 · TA获得超过123个赞
知道答主
回答量:62
采纳率:0%
帮助的人:57.1万
展开全部
首先在B库里查出那些数据是重复的:
select * from tablename b
where b.id in ( select id from tablename group by id having count(id)>1);
然后就是把这些多余数据删除了,这个问题就比较简单了,你自己写吧,可以把上面的查询语句作为子查询放进去。挺简单的,自己动手试试。
百度网友106043edb
2012-11-03 · 超过54用户采纳过TA的回答
知道小有建树答主
回答量:148
采纳率:0%
帮助的人:137万
展开全部
use db_A
select distinct * from
(select * from test where exists (select * from db_B.test)) into temp;
delete from test;
select * from temp into test;
drop table temp;

思路应该就是这样,没测试。如果需要j经常进行这样的操作,可以把上面的语句放在一个存储过程过程中,需要的时候可以随时执行了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ct2k01
2012-11-02 · TA获得超过1570个赞
知道小有建树答主
回答量:1653
采纳率:0%
帮助的人:1111万
展开全部
我有些小小的问题哈,既然你的最终目的是两库同步,那么直接把两库合并UNION ALL不就行了?另外是不是只是B库的数据比A库多(因为id,name,bm重复造成),A库不会比B库多?如果B库的同一个id,name,bm组合有重复记录,而xb,zz内容又不相同,怎么取舍?

忘了最重要的一个问题,是什么数据库?俺只会ORACLE,别的只能讲原理,不会写语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友489295667
2012-11-03 · TA获得超过2367个赞
知道小有建树答主
回答量:1471
采纳率:80%
帮助的人:305万
展开全部
办法有2,
1、跨库查询
2、将一个库中的数据导出,再倒入到另一个库,然后再做查询。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夕梅靳雀
2020-03-18 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:27%
帮助的人:721万
展开全部
如果quotationart表没有定义主键,那么你可以利用创建临时表来存储,写法如下:

select
distinct
seq,
art_no,
quotation
into
quotationart_tmp from
quotationart
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式