doubletten abgleichen und dabei orginal und doublette anzeigen.
nick
- datenbank
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
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
Hallo,
entschuldige bitte das sind zwei Threads für zwei verschiende Theman.
Und der vorherige ist eigentlich erledigt.
mbg nick
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
Hallo,
ich nutze derzeit mysql 5.0.xx.
mbg nick
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