PDA

View Full Version : Duplikate mit Sql ersetzen



tarkusch
08-11-13, 14:01
Hallo,

ich habe mir mehrere gesicherte Dateien zusammenkopiert.
Wollte fragen ob es mit Sql möglich ist Duplikate zu löschen oder
muss ich ein Rpg-Programm mit Datenstrukturen-Vergleich schreiben.

Dank im Voraus

Tarki

Fuerchau
08-11-13, 14:08
SQL kann dir nur die doppelten (mehrfachen) vorkommen ermitteln.
Allerdings ist das mit dem Löschen per SQL nicht möglich.

tarkusch
08-11-13, 14:18
Hallo Herr Fürchau,

kann ich mit dem Sql auch die Sätze die doppelt vorkommen ausblenden?
Ich kenne nur das group by.

Dank im Voraus

Fuerchau
08-11-13, 15:43
Stichwort "having":

select a, b, count(*)
from myfile
group by a, b
having count(*) = 1

malzusrex
09-11-13, 08:52
Wenn ALLE Felder der doppelten Sätze identisch sind..
Dann erstelle dir eine leere Datei und dann mit SQL

Insert into MyNewF
Select distinct + from Myfile

Damit solltest du nur immer einen Satz haben

Gruß Ronald

B.Hauser
09-11-13, 14:08
Allerdings ist das mit dem Löschen per SQL nicht möglich.

Und warum nicht?
Das folgende SQL-Statement löscht doppelte Sätze (könnte allerdings bei großen Tabellen ein bißchen langsam werden, da über die relative Satz-Nr. verglichen wird):

Delete
from YourFile a
where RRN(a) <> (select min(rrn(b))
from YourFile b
where (a.Key1, a.Key2) = (b.Key1, b.Key2))


Birgitta