oracle怎么核对两个表的数据是不是一致

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle怎么核对两个表的数据是不是一致相关的知识,希望对你有一定的参考价值。

参考技术A 例如:核对web层和mid层保费收入的差异:
首先把这两个模块看做两张表,而且这两个模块出的字段一致,需要编号和钱,核对这个钱的数据为啥不对。
①WEB层
SELECT SUM(A.PREMIUMCNY) "保费收入(含税) "
FROM WEB_XG_SALESMAN_RISK_ALL A
WHERE TRUNC(A.STATDATE) BETWEEN DATE '2019-09-01' AND DATE '2019-09-30';
②MID层
SELECT SUM(NVL(A.PREMIUM, 0)) AS 保费收入
FROM MID_CB_PREMIUM_RISK_ALL A
WHERE TRUNC(A.STATDATE) BETWEEN DATE'2019-09-01' AND DATE'2019-09-30';
----------------------------------------------------------------------------------------
结果:(需要把两个模块的编号 和 钱 都写出来)
SQL:
SELECT A.POLICYNO, --编号
SUM(A."保费收入(含税) ") AS BFSRHS,
B.POLICYNO,
SUM(B.保费收入) AS BFSR
FROM
(SELECT A.POLICYNO,SUM(A.PREMIUMCNY) "保费收入(含税) "
FROM WEB_XG_SALESMAN_RISK_ALL A
WHERE TRUNC(A.STATDATE) BETWEEN DATE '2019-09-01' AND DATE '2019-09-30'
GROUP BY A.POLICYNO
) A
FULL JOIN
(SELECT A.POLICYNO,SUM(NVL(A.PREMIUM, 0)) AS 保费收入
FROM MID_CB_PREMIUM_RISK_ALL A
WHERE TRUNC(A.STATDATE) BETWEEN DATE'2019-09-01' AND DATE'2019-09-30'
GROUP BY A.POLICYNO
) B
ON A.POLICYNO = B.POLICYNO --用编号关联
WHERE A.POLICYNO IS NULL OR B.POLICYNO IS NULL --是否一致
OR A.BFSRHS <> B.BFSR
group BY A.POLICYNO,
B.POLICYNO
参考技术B Oracle中比对2张表之间数据是否一致的几种方法
http://www.askmaclean.com/archives/oracle-compare-data-between-tables-method.html本回答被提问者和网友采纳
参考技术C pl/sql 具有对比表的功能

在ORACLE中,如何比较两个表的数据是否相同,查询两个表内容不一致的内容

在ORACLE中,如何比较两个表的数据是否相同

 

比如A表的m列z有值(1,2,3,4,5),B表的n列有值(3,4,5,6,7,8)。要查找出(3,4,5,)三个值。

 

select t1.* from
(select LCH,LGH from SJCJ_GLTSHY where JLSJ >=to_date(2020-05-12 00:00:00, yyyy-mm-dd HH24:MI:SS)
minus
select LCH,LGH from SJCJ_GLTSHY_BAK where JLSJ >=to_date(2020-05-12 00:00:00, yyyy-mm-dd HH24:MI:SS)) t1
union 
select t2.* from
(select LCH,LGH from SJCJ_GLTSHY_BAK where JLSJ >=to_date(2020-05-12 00:00:00, yyyy-mm-dd HH24:MI:SS)
minus
select LCH,LGH from SJCJ_GLTSHY where JLSJ >=to_date(2020-05-12 00:00:00, yyyy-mm-dd HH24:MI:SS)) t2

 

以上是关于oracle怎么核对两个表的数据是不是一致的主要内容,如果未能解决你的问题,请参考以下文章

SqlServer怎么比较两个表的字段是不是一致

在ORACLE中,如何比较两个表的数据是否相同,查询两个表内容不一致的内容

在ORACLE中,如何比较两个表的数据是否相同,查询两个表内容不一致的内容

数据核对

如何用一条SQL语句对比两个表的数据是不是一致

两个数据表如何VBA实现比对?