我的第一个表中有列ID,invdate和invnumber与VALUES重复数据删除:我如何从两个表中的Oracle SQL Developer
(1, 01/10/13, 1)
(2, 02/10/13, 2)
(2, 02/10/13, 2)
(3, 03/10/13, 3)
(4, 04/10/13, 4)
(4, 05/10/13, 4)
我的第二个表B具有列ID,DATEOFBIRTH,姓氏,与VALUES的名字:
(1, 19/06/1997, Fox, Migan)
(2, 30/07/1993, Todd, James)
(2, 30/07/1993, Todd, James)
(3, 1/08/1994, Xi, Ji)
(4, 2/07/1992, Fared, Bob)
(4, 2/07/1992, Fared, Bob)
我该如何使用DELETE FROM()函数删除两个表中的所有重复行?我想我应该以某种方式合并表格,然后删除重复的行,但不太确定。
至于结果,
SELECT * FROM a
应该给:
(1, 01/10/13, 1)
(2, 02/10/13, 2)
(3, 03/10/13, 3)
(4, 04/10/13, 4)
SELECT * FROM B;
应该给:
(1, 19/06/1997, Fox, Migan)
(2, 30/07/1993, Todd, James)
(3, 1/08/1994, Xi, Ji)
(4, 2/07/1992, Fared, Bob)
UPDATE(溶液):
DELETE FROM一个WHERE ROWID >(SELECT min(rowid)FROM b WHERE a.ID = b.ID);
有人可以为我解释这个SQL吗?
编辑你的问题,并解释/执行的示例显示你想要的结果。 –
您只需要在SELECT中过滤重复项或实际删除表中的重复行? –
是的,我需要使用DELETE FROM(...实际上从表中删除重复的行 –