![]() |
Re: MySQL doppelte Datensätze anzeigen...
Zitat:
kleine Gegenfrage: Wenn es doppelte Datensätze (nachname und vorname) gibt und sich diese Zeilen dann in der Adresse unterschieden, welche der beiden Adressen möchtest du sehen bzw. welche Zeile soll nicht ausgegeben werden? Denk da nochmal drüber nach, bin auf eine Antwort gespannt. Gruss Thorsten |
Re: MySQL doppelte Datensätze anzeigen...
hallo omata!
deine frage ist berechtigt und zwang mich zum nachdenken und ich kam zum folgendem ergebnis: in einer tabelle möchte man nachträglich unique index setzen (nachname, vorname). beispiel: ich habe zwei datensätze wo die felder nachname und vorname gleich sind (als gleich verstehe ich entsprechend gleiche inhalte => auch leer oder is null). somit gelten solche zwei datensätze für mich als doppelt vorhanden auch wenn sich alle andere felder voneinander unterscheiden. unter diesen umständen definiere ich einen datensatz als doppelt: das ist ein datensatz, der (später) gegen die unique- regeln (nachname, vorname) verstoßen würde. folgend ist es für mich nicht nötig einen von beiden bevor zuziehen ANTWORT AUF DEINE FRAGE: es ist egal welchen datensatz ich zu sehen bekomme, hauptsache nur einen von beiden und nur solche die doppelt vorhanden sind. es wäre echt cool, wenn du so was hingekriegt hättest! du kannst auch zeigen wie kann man solche abfragen steuern, wenn man z.b. zusätzlich einen von den beiden datensätze sehen möchte der früher erstellt wurde (feld: erfdatum : tdatetime). danke dass du dich gemeldet hast |
Re: MySQL doppelte Datensätze anzeigen...
Hallo Gonso,
ok, mit deinen zusätzlichen Infos kann man natürlich arbeiten...
SQL-Code:
Hier wird nur der letzte Datensatz angezeigt, wenn es der Erste sein soll, nimm MIN.
SELECT *
FROM tblkunden x WHERE COALESCE(nachname, '') <> '' AND COALESCE(vorname, '') <> '' AND EXISTS (SELECT nachname, vorname FROM tblkunden WHERE nachname = x.nachname AND vorname = x.vorname GROUP BY nachname, vorname HAVING COUNT(*) > 1) AND erfdatum = (SELECT MAX(erfdatum) FROM tblkunden WHERE nachname = x.nachname AND vorname = x.vorname) ORDER BY nachname, vorname Gruss Thorsten |
Re: MySQL doppelte Datensätze anzeigen...
Hallo OMATA!
sehr elegant und sauber, eben Qualitäts-Antwort. ein weihnachtsgeschenk das ich so nicht verdient habe. wie schon geschrieben: ich bewundere DEIN Expertenwissen! danke Thorsten |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz