nick: doubletten abgleichen und dabei orginal und doublette anzeigen.

Hallo,

mysql , phpmyadmin

ich nutze momentan diesen Befehl für einen doublettenabgleich:

SELECT nachname, gebdatum, count( gebdatum )
FROM batch
GROUP BY gebdatum, nachname
HAVING count( gebdatum ) > 1

Das Ergebnis zeigt mir welche Datensätze den gleichen Nachnamen und das gleiche Geburtsdatum haben.

Ich brauche allerdings als Ergebnis nicht nur die Anzeige das der Datensatz zwei mal vorkommt, sondern auch beide Datensätze im Ergebnis ausgegeben.

Wie muss ich den Befehl umformen?

mbg nick

  1. Hallo Nick,

    SELECT nachname, gebdatum, count( gebdatum )
    FROM batch
    GROUP BY gebdatum, nachname
    HAVING count( gebdatum ) > 1

    Das Ergebnis zeigt mir welche Datensätze den gleichen Nachnamen und das gleiche Geburtsdatum haben.

    Ich brauche allerdings als Ergebnis nicht nur die Anzeige das der Datensatz zwei mal vorkommt, sondern auch beide Datensätze im Ergebnis ausgegeben.

    bitte bleibe in Deinem alten Thread.

    Freundliche Grüße

    Vinzenz

    1. Hallo,

      entschuldige bitte das sind zwei Threads für zwei verschiende Theman.

      Und der vorherige ist eigentlich erledigt.

      mbg nick

  2. moin,

    mysql , phpmyadmin
    Wie muss ich den Befehl umformen?

    dazu brauchst du korrlierte unterabfragen und die gehen erst ab mysql 4.1. leider hast du uns deiner version verschwiegen.....

    Ilja

    1. Hallo,

      ich nutze derzeit mysql 5.0.xx.

      mbg nick

      1. yo,

        wenn ich das richtig sehe, beruht dein dubletten ablgeich auf dem geburstdatum und dem nachnamen. diese musst du in einer unterabfrage vergleichen. zusätzlich müssen wir noch den fall abfangen, dass sich der gleiche datensatz nicht selbst findet, am besten mit dem Primärschlüssel der tabelle batch. noch ein wenig sortieren, dann sollte es übersichtlich sein....

        SELECT b1.*
        FROM batch b1
        WHERE EXISTS (SELECT NULL
                      FROM batch b2
                      WHERE b2.gebdatum = b1.gebdatum
                      AND b2.nachname = b1.nachname
                      ABD b2.PrimaryKey <> b1.PrimaryKey
                     )
        order by b1.nachname, b1.gebdatum
        ;

        Ilja