【发布时间】:2015-08-09 08:51:42
【问题描述】:
我有下表所示的数据。
+------+----------+----------+
| type | date1 | date2 |
+------+----------+----------+
| IT1 | 05/01/15 | 08/01/15 |
| IT1 | 05/01/15 | |
| IT1 | 04/01/15 | |
| IT1 | | 03/02/15 |
| IT1 | 06/01/15 | 03/02/15 |
| IT1 | | 04/02/15 |
| IT2 | 05/01/15 | |
| IT2 | 05/01/15 | 04/01/15 |
| IT2 | 03/01/15 | |
| IT2 | | 09/01/15 |
+------+----------+----------+
我需要通过删除重复来获取行,结果如下
+------+----------+----------+
| type | date1 | date2 |
+------+----------+----------+
| IT1 | 05/01/15 | 08/01/15 |
| IT1 | 04/01/15 | |
| IT1 | 06/01/15 | 03/02/15 |
| IT1 | | 04/02/15 |
| IT2 | 05/01/15 | 04/01/15 |
| IT2 | 03/01/15 | |
| IT2 | | 09/01/15 |
+------+----------+----------+
对于特定类型,
- 如果 date1 存在对应的 date2,则选择该行并删除其他 date1
- 如果对应的 date2 不存在,则保留它
同样,
- 如果 date2 存在对应的 date1,则选择该行并删除其他 date2
- 如果对应的 date1 不存在,则保留它
是否可以为此编写一个 oracle 查询? 谁能帮我做这件事?
【问题讨论】: