
不知道你说的表结构还是表记录的不同,表结构比较很简单,从数据字典里读出每个表的数据(包含字段、类型、索引等等)形成文件,然后把两个数据库结构文件用对比工具就可以搞定,当然现在有很多的现行工具能够将所有表结构形成文本文件(ORACLE如PL/SQL工具);记录的比较就需要你逐表写SQL语句比较了或者将表里的数据按照一定规则导出成文件比较
不建议图省事,老老实实写三条比较好。
insert into T2 (A,B,C) select T1A,T1B,T1C from T1 left join T2 on T1A = T2A and ( T1B = T2B or T1C = T2C );
insert into T2 (A,B,C) select T1A,T1B,T1C from T1 left join T2 on T1B = T2B and ( T1A = T2A or T1C = T2C );
insert into T2 (A,B,C) select T1A,T1B,T1C from T1 left join T2 on T1C = T2C and ( T1B = T2B or T1A = T2A );
首先我问下是什么数据库,如果是oracle可以用merge into语句
merge into goods
using (select ‘插入的数据’ as a from dual) t
on(goodsname=ta)
WHEN MATCHED THEN
UPDATE SET goodsnum = goodsnum+1
WHEN NOT MATCHED THEN
INSERT (对应列) VALUES(要插入的数据);
select 上期优化小区名称,
(case when 上期小区关注级别 like '%正常%' and 本期小区关注级别 like '%正常%' then '正常' else '不正常' end) as 是否正常
from table_name
------------补充一下--------------
如果两个都是不正常,难道也输出正常吗?还是我这么写是正确的?
SELECT 表AZH_LABLE,表BZH_LABLE
FROM 表A FULL JOIN 表B ON 表AZH_LABLE=表BZH_LABLE
WHERE 表AZH_LABLE IS NULL OR 表BZH_LABLE IS NULL
对于数据表A和数据表B整合的方法如下:
首先,定义主键,如身份z号;
其次,查找相同项,检查同一身份z信息是否相同,如有不同,则进行辨认,取舍,并整合。
最后,将数据表A中没有但数据表B中有的数据添加入数据表A形成一个全面完整的数据表。
连接属性:
可以查询两者相同的记录;
连接属性3结合is null,可以查询数据表A中没有但数据表B中有的记录,如下:
select a from
(select from tab1 a where backDate=Convert(date,GETDATE())) a
inner join (select from tab1 where where backDate=DateAdd(day,-1,Convert(date,GETDATE()))) b
on aId=bid and (aprice <>bprice or acount<>bcount)
试下吧,on后而我预设的几个匹配字段,具体根据你的列来确定
不同的表及不同的字段,我做过这样的接口程序。我当时的方案大致如下:首先,建立关键业务表的触发器,当发生变化时,将插入或修改分别触发到一个临时表中。然后,用设计的第3方程序,读取临时表,根据临时表中记录的是插入标志还是修改标志,分别写入另一个数据库的对应表中。反之,从另一数据库写到这个数据库方式相同。不知表达明白没有。
以上就是关于如何对比两个相同数据库表的不同全部的内容,包括:如何对比两个相同数据库表的不同、关于mysql数据库两个表数据对比问题、Sql语句,当在页面插入一个字段的时候,和数据库中的表字段进行对比,有这个名字就数量相加等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)