Beitrag von Jürgen (614 Beiträge) am Mittwoch, 14.Januar.2004, 22:57.
@Perlprofis - DB doppelte Einträge
Hi BP-Freaks,
seit langem mal wieder ein Prob. ;-)
Ich möchte meine DB so auslesen, das nur doppelte Einträge
angezeigt werden.
Im Forum hab ich nur, wie man doppelte Einträge verhindert
bzw. nicht angezeigt werden gefunden.
Ich bräuchte das ganze in die andere Richtung ;-)
Mir sollten nur Doppelte Einträge angezeigt werden.
Wer hat einen Ansatz für mich ?
Danke für die Tipps.
Gruß
Jürgen
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Mittwoch, 14.Januar.2004, 23:34.
Re: @Perlprofis - DB doppelte Einträge
Antworten
Beitrag von horstees (229 Beiträge) am Donnerstag, 15.Januar.2004, 00:43.
Re: @Perlprofis - DB doppelte Einträge
Ich hatte mir dies hier ausgedacht:
<perl>
get "Id==*","Beispieladressen","alle";
$gesamt = $_amount_query;
while(get_next(alle))
{
get "Id>$_id Nachname==$Nachname","Beispieladressen","doppelte";
if($_amount_query>0){$_meine_doppelten{$Nachname} = 1;}
}
out "Von $gesamt Namen sind doppelt oder mehrfach enthalten:<p>";
while(($name,$ok) = each %_meine_doppelten)
{
out "$name<br>";
}
</perl>
;-) So Jürgen, jetzt mußt du dich entscheiden ;-)
Tip:
Ich würd Christoph's nehmen, is schließlich der Chef hier ;-)
obwohl mir das mit der $nr zu kryptisch ist
sieht's doch 'n bischen flotter aus ;-)
horstees ;-)
Antworten
Beitrag von Jürgen (614 Beiträge) am Donnerstag, 15.Januar.2004, 02:00.
Re: @Perlprofis - DB doppelte Einträge
Hi!
erst mal - ich war jetzt kurz 2 Std. ein, zwei Bierchen
trinken um die Ecke in einem Bistro um den Kopf
wieder frei zu bekommen ;-))
Schon besser jetzt *ggg*
Also, ich hab von Christoph sein kleines Script getestet.
Hmm, Variable $Feld und DB mit meinen Angaben getauscht, aber mir wurde
nichts aus gegeben ????????????????? Leere schöööööööööne Seite :-))
Wo happerts den da ??? ;-)
Bei horstees Script gab es keine Probs - funzt ;-)
Besten Dank nochmal an euch beiden.
Gruß
Jürgen
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 15.Januar.2004, 03:13.
Re: @Perlprofis - DB doppelte Einträge
Äh, is auch fehlerhaft, muss
statt
sein... das sollte klappen...
Äh, ja und es wäre besser dieses Skript hier zu nehmen, weil horstees seins die DB einmal komplett holt und dann jeden einzelnen Eintrag durchläuft und dabei wieder jeden einzelnen Eintrag holt - das is hart & bei einer gewissen Anzahl von Einträgen sehr lahm... ;-) Äh, horstess, vielleicht kannste Deins ja auch ändern ;-)
Antworten
Beitrag von horstees (229 Beiträge) am Donnerstag, 15.Januar.2004, 15:04.
Re: @Perlprofis - DB doppelte Einträge
Antworten
Beitrag von olaf (59 Beiträge) am Donnerstag, 15.Januar.2004, 18:59.
Re: @Perlprofis - DB doppelte Einträge
Antworten
Beitrag von horstees (229 Beiträge) am Donnerstag, 15.Januar.2004, 23:04.
Re: @Perlprofis - DB doppelte Einträge
moin moin,
Inkrement ok
Hash ok
aber einen hash inkrementieren, häh?
sah ich zum ersten mal...
horstees
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 15.Januar.2004, 23:31.
Re: @Perlprofis - DB doppelte Einträge
Antworten
Beitrag von horstees (229 Beiträge) am Freitag, 16.Januar.2004, 13:26.
Re: @Perlprofis - DB doppelte Einträge
Mmh,
meine 'Sperre' scheint behoben.
Vor dem ersten Auftauchen von ++$nr{$Feld} wurde weder ein
%nr Hash definiert, noch wurden dem key '$Feld' ein value zugewiesen.
Und dann passiert alles auf einmal!
Durch die Anwendung des Inkrement-Operators ++ WEISS perl, dass der bislang nicht definierte value:
a) einen Zahlenwert annehmen muss
b) diesen um eins erhöhen muss
c) und diesen wiederum dem key namens $Feld des frisch gebackenen hash %nr
So ungefähr hab ich mir's jetzt klar machen können,
sicher nicht ganz druckreif formuliert
und sicher immer noch an der 'wahren' Chronologie der Prozesse vorbei...
horstees
Antworten
Beitrag von Sascha Fitzner (476 Beiträge) am Donnerstag, 15.Januar.2004, 16:07.
Re: @Perlprofis - DB doppelte Einträge
hallo jürgen
ich denke du wirst
a.) dazu selber programmieren müssen...
b.) und dabei, die datenbank über das feld sortiert verarbeiten das du vergleichen möchtest. dabei musst du dann den aktuellen datensatz mit dem datensatz den du zuvor gelesen hast vergleichen. wenn beide datensätze gleich sind dann willst du eine verarbeitung. anschliessend merkst du dir den aktuellen datensatz und vergleichst diesen dann mit dem datensatz den du danach liest.
gruss
sascha fitzner
Antworten