Schrift
[thread]3585[/thread]

doppelte einträge entfernen



<< >> 4 Einträge, 1 Seite
supersucker
 2005-06-23 06:38
#33347 #33347
User since
2005-03-17
118 Artikel
BenutzerIn
[default_avatar]
hi,

wie kann ich denn doppelte einträge in einer tabelle bei postgresql entfernen? hab gerade gegoogelt aber nichts wirklich passendes gefunden....

gibt es dafür in postgresql einen praktischen befehl oder geht das auch mal eben schnell mit einem sql-statement?

danke im voraus
Strat
 2005-06-23 11:42
#33348 #33348
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
mir ist es noch zu frueh am morgen, aber vielleicht funktioniert ja folgender self-join

Erkennen der doppelten:
[sql]SELECT table.id, tableSelf.id FROM table, table AS tableSelf
WHERE table.eindeutigesFeld = tableSelf.eindeutigesFeld AND table.id = NOT tableSelf.id
[/sql]
und die dann halt irgendwie loeschen...
[sql]DELETE FROM table WHERE id IN (
SELECT table.id FROM table, table AS tableSelf
WHERE table.eindeutigesFeld = tableSelf.eindeutigesFeld
AND table.id = NOT tableSelf.id
)
[/sql]
aber das musst du noch etwas verfeinern; das loescht, wenn ich das schon recht kapiere, alles, was doppelt ist...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
pKai
 2005-06-23 13:03
#33349 #33349
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
...
AND table.id > tableSelf.id

um alle außer den mit der kleinsten ID zu SELECTieren (Löschen)
I sense a soul in search of answers.
Strat
 2005-06-23 13:18
#33350 #33350
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
@pKai: gute Idee
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< >> 4 Einträge, 1 Seite



View all threads created 2005-06-23 06:38.