我的第一個表中有列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(...實際上從表中刪除重複的行 –