如何比较两个表并标记重复项

问题描述

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

此方案允许成员每月捐款一次以上。最近我发现此表中有很多重复的值,现在我想摆脱它们。我有一个备用表,没有其他条目我想比较这两个表并标记其他表。

我尝试过

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

在许多网站中都建议使用,但不起作用。

解决方法

两张桌子到一张桌子

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,RECEIPT_DATE having count(*) > 1;

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...