【问题标题】:How to compare two tables and mark duplicates如何比较两个表并标记重复项
【发布时间】:2020-09-17 13:58:24
【问题描述】:

我有一个表格用于管理计划的贡献,其中包含 MNUMBERMONTHYEARCONTR_AMOUNTRECEIPT_DATE 等关键字段。

这个方案允许一个成员每个月贡献一次以上。最近我发现这个表中有很多重复的值,现在我想去掉它们。我有一个没有额外条目的备份表我想比较这两个表并标记附加表。

我试过了

select * from table1 
 minus table2 
 union 
select * from table 2 
 minus 
select * from table1 

正如许多网站所建议的那样,但它不起作用。

【问题讨论】:

  • 你试过(select * from table1 minus select * from table2) union (select * from table 2 minus select * from table1)吗?
  • 正如@Barbaros Özhan 所说,应该做这项工作。但是您仍然可以查看stackoverflow.com/questions/8718458/… 以获取更多选项以在备份表没有作用的情况下找出重复记录。

标签: sql oracle


【解决方案1】:

两桌一桌

SELECT * FROM CONTRIBUTION;
+---------+-------+------+--------------+--------------+
| MNUMBER | MONTH | YEAR | CONTR_AMOUNT | RECEIPT_DATE |
+---------+-------+------+--------------+--------------+
|    1001 |     8 | 2020 |         1200 | 2020-08-04   |
|    1001 |     8 | 2020 |         1500 | 2020-08-20   |
|    1001 |     8 | 2020 |         2200 | 2020-08-24   |
|    1001 |     8 | 2020 |         1100 | 2020-08-28   |
|    1001 |     8 | 2020 |         1100 | 2020-08-28   |
|    1002 |     8 | 2020 |         1300 | 2020-08-01   |
|    1003 |     8 | 2020 |         1300 | 2020-08-12   |
|    1004 |     8 | 2020 |         2200 | 2020-08-18   |
|    1004 |     8 | 2020 |         1600 | 2020-08-19   |
|    1005 |     8 | 2020 |         1600 | 2020-08-21   |
+---------+-------+------+--------------+--------------+

|    1001 |     8 | 2020 |         1100 | 2020-08-28   |
|    1001 |     8 | 2020 |         1100 | 2020-08-28   |

select MNUMBER,CONTR_AMOUNT,RECEIPT_DATE, count(*) from CONTRIBUTION group by MNUMBER,CONTR_AMOUNT,RECEIPT_DATE having count(*) > 1;

+---------+--------------+--------------+----------+
| MNUMBER | CONTR_AMOUNT | RECEIPT_DATE | count(*) |
+---------+--------------+--------------+----------+
|    1001 |         1100 | 2020-08-28   |        2 |
+---------+--------------+--------------+----------+

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多