【发布时间】:2017-04-11 07:10:25
【问题描述】:
我有两张桌子,一张是temptable,另一张是Persons。我需要在下面从temptable 中删除重复数据。
表一:
CREATE TABLE temptable
( ID int,
Name varchar(255),
pan varchar(255),
Address varchar(255),
status varchar(255) );
表二:
CREATE TABLE Persons (
ID int,
Name varchar(255),
pan varchar(255),
Address varchar(255),
status varchar(255) );
temptable 中的数据有重复:
-----------------------------------------------------------
ID Name pan Address status
-----------------------------------------------------------
1 Gopal akkoso232l hyd ACCESSED
1 Gopal akkoso232l hyd ACCESSED
2 sAI aaa1213 VIZ PENDING
3 RAM LLWELW1213 hyd ACCESSED
4 ONE ONE12so232l CHN ACCESSED
5 REDDY aZZoWE232l TOW ACCESSED
----------------------------------------------------------
6 sUNRAI akppg8732 hyd ACCESSED
6 sUNRAI akppg8732 hyd PENDING
-----------------------------------------------
我需要如下主表数据(无重复):
人员:
------------------------------------------------
ID Name pan Address status
------------------------------------------------
1 Gopal akkoso232l hyd ACCESSED
2 sAI aaa1213 VIZ PENDING
3 RAM LLWELW1213 hyd ACCESSED
4 ONE ONE12so232l CHN ACCESSED
5 REDDY aZZoWE232l TOW ACCESSED
------------------------------------------------
6 SUNRAI akppg8732 hyd ACCESSED
------------------------------------------------
【问题讨论】:
-
您使用的是 MySQL 还是 Oracle?您是否尝试过四处寻找解决此问题的方法?
-
如果
temptable中的特定Name有2 行,其中1 行具有ACCESSED状态,1 行具有PENDING状态,ACCESSED行是否应该出现在Persons中桌子? -
更一般地,请定义“重复数据”。如果
status可以在temptable中变化,那么其他哪些列可能会有所不同?另外,为什么sUNRAI的情况得到纠正,而sAI的情况却没有得到纠正??? -
在某些情况下,我可能会得到不同的状态,例如 ACCESSED 和 PENDING 在这种情况下,我只需要插入 ACCESSED pan 数据。
标签: mysql database oracle plsql rows