得到两个表中不同的记录

    技术2026-08-09  4

    当不同系统之间计算出的合计值不相同时,为了找出数据不一致的原因.有时需要对明细来进一步分析。这时一种常见的方法就是找出两张明细表中的不同记录。

     

    Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as report--  用level分别构造测试表a ,bSQL> CREATE TABLE a AS  2  select level  id from dual connect by level <=3;Table createdSQL> SQL> CREATE TABLE b AS  2  select level id from dual connect by level <=5;Table createdSQL> SQL> SELECT * FROM A;        ID----------         1         2         3

    SQL> SELECT * FROM B;        ID----------         1         2         3         4         5方案一SQL> SELECT ID  FROM  A WHERE  ID NOT IN  (SELECT  ID FROM B)  2     UNION  3     SELECT ID  FROM  B WHERE  ID NOT IN  (SELECT  ID FROM A);        ID----------         4         5方案二SQL> SELECT ID  2    FROM (SELECT ID  3            FROM A  4          UNION ALL  5          SELECT ID FROM B)  6   GROUP BY ID  7  HAVING (COUNT(ID)=1);        ID----------         4         5

    SQL>

    最新回复(0)