![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Folgende Problematik:
Ich muss nachträglich in einer Abfrage doppelte Datensätze eliminieren. Das heißt ich hab evt. Datensätze die komplett gleich sind, bis auf ihren Primärschlüssel. Mit einem einfachen Distinct funktioniert das leider nicht, da ich dann nur die eine Spalte erhalte. Ich brauche aber den ganzen Datensatz inkl. der ID (die sich ja unterscheidet). Das heißt die Abfrage soll einen kompletten Datensatz inkl. der ID aufnehmen, jedoch alle weiteren die genau gleich sind und sich nur in der ID unterscheiden nicht mehr. Ich hoffe ihr verstehts wie ich das meine.... ![]() Kennt ihr da eine Lösung? Die einzige andere Möglichkeit die ich sehe ist schon bei der Eingabe evt. doppelte abzufangen. Jedoch ist das etwas "unbequem", da die Erfassungs-Anwendung schon im Einsatz ist und daher geändert werden müsste. Jedoch unvermeidbar wenn es keine andere Möglichkeit gibt. Aber ich hoffe es gibt da etwas. ![]() Dank euch, lg renew |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() |
![]() mh was is wenn du die anzahl der datensätze zählst die in einer spalte gleich sind und dann alle bis auf einen löschst?
|
![]() |
![]() |
![]() |
#3 |
Senior Member
![]() Registriert seit: 02.11.2002
Beiträge: 179
|
![]() ganz einfach:
SELECT FIRST(id) AS idDesErstenDatensatzes, feld1, feld2, feld3 FROM meineTabelle GROUP BY feld1, feld2, feld3 ORDER BY irgendwas...; das fasst die in der GROUP BY angeführten felder wie im DISTINCT statement zusammen, außer das id-feld, von dem wird mit der FIRST() funktion immer die id des ersten gefundenen datensatzes ausgegeben. kannst auch COUNT() (=anzahl der "gleichen" datensätze) oder andere aggregat-funktionen nehmen. wichtig: alle felder die in _keiner_ XYZ()-funktion stehen müssen immer in der GROUP BY klausel vorkommen - sonst gibt's klarerweise einen fehler.
____________________________________
It\'s not a bug... It\'s a feature! You know, the main advantage of encrypted paella over ordinary paella is that nobody but you knows what you are eating... (Alvaro) |
![]() |
![]() |
![]() |
#4 |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() @Potassium
Ist nich unbedingt gewünscht - vor allem da das ganze mit mehreren Benutzern unter Access laufen soll. @JackLemon Besten Dank! Funkt 1A. Ich hab zwar noch vergessen, dass es noch ein Datumsfeld gibt, welches auf unterschiedlich ist - aber das ist net so schlimm. Das nehm ich einfach nicht in die eine Abfrage rein und hols mir nachher mit einem INNER JOIN aus der original Tabelle. (2. Abfrage) Also nochmals danke, lg renew |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|