Thread primary key Duplikate entfernen ... suche Programmieridee (18 answers)
Opened by tejste at 2014-07-23 12:46

Linuxer
 2014-07-23 15:28
#176563 #176563
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Bei Deiner vereinfachten Variante kannst Du die Aktionen um dem Hash mit den Primary Key Feldern noch zusammenfassen.

Anstatt:
Code (perl): (dl )
1
2
3
4
    # Zeile verwerfen, wenn dieser Schlüssel schon existiert
    next if $hash{$f[0]}->{$f[3]}->{$f[4]};
    # Schlüssel in verschachteltem Hash speichern
    $hash{$f[0]}->{$f[3]}->{$f[4]} = 1;


dieses
Code (perl): (dl )
1
2
    # Zeile verwerfen, wenn dieser Schlüssel schon existiert
    next if $hash{$f[0]}->{$f[3]}->{$f[4]}++;


Beim ersten Durchlauf existiert der Schlüssel nicht und das Next wird nicht ausgeführt; danach wird aber der Wert erhöht, womit der Schlüssel dann existiert und die nächsten Durchläufe greift dann das next.
Last edited: 2014-07-23 15:37:43 +0200 (CEST)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread primary key Duplikate entfernen ... suche Programmieridee