manu1214 Geschrieben 7. Mai 2020 Geschrieben 7. Mai 2020 (bearbeitet) Hallo zusammen ich habe da ein kleines SQL Problem in Access und ich hoffe ihr könnt mir da helfen. Es geht um doppelte Einträge, wie kann ich die rausfiltern, bzw. löschen? Was ich versuche zu erreichen wörtlich formuliert: Zeige aus Tabelle 1 alle Spalten(Also A,B,C,usw.) an, aber zeige nur 1 Zeile von den doppelten an. A B C D E F 10118 10130 10002 10005 3 01.01.2008 10119 10147 10002 10005 4 01.01.2008 10157 10340 10021 10038 2 02.05.2016 10158 10341 10019 10037 1 16.02.2012 10159 10341 10019 10037 1 16.02.2012 10160 10341 10019 10037 1 16.02.2012 10161 10341 10019 10037 1 16.02.2012 10162 10341 10019 10037 1 16.02.2012 10163 10341 10019 10037 1 16.02.2012 Danke schon mal für die Hilfe. Bearbeitet 7. Mai 2020 von manu1214 Zitieren
Enno Geschrieben 7. Mai 2020 Geschrieben 7. Mai 2020 ??? In deinem Beispiel ist keine Zeile doppelt vorhanden. Wie soll also dein Ergebnis genau aussehen? Zitieren
manu1214 Geschrieben 7. Mai 2020 Autor Geschrieben 7. Mai 2020 vor 10 Minuten schrieb Enno: ??? In deinem Beispiel ist keine Zeile doppelt vorhanden. Wie soll also dein Ergebnis genau aussehen? Also in Spalte B steht untereinander 10341, es soll nur noch eine Zeile mit 10341 geben, das war natürlich nur ein Beispiel es gibt noch weitere Doppelte. Zitieren
MartinSt Geschrieben 7. Mai 2020 Geschrieben 7. Mai 2020 Sollen die rot markierten Blöcke also einfach nicht ausgegeben werden? Zitieren
manu1214 Geschrieben 7. Mai 2020 Autor Geschrieben 7. Mai 2020 (bearbeitet) vor 16 Minuten schrieb MartinSt: Sollen die rot markierten Blöcke also einfach nicht ausgegeben werden? Also wenn in Spalte B doppelte Werte(oranger Rahmen) auftauchen sollen alle Zeilen bis auf eine erhalten bleiben(lösche alle Zeilen roter Rahmen). Bearbeitet 7. Mai 2020 von manu1214 Zitieren
Enno Geschrieben 7. Mai 2020 Geschrieben 7. Mai 2020 Das ist nicht möglich. Weil welcher Wert von A soll denn angezeigt werden? Es sind ja in den 5 Zeilen unterschiedliche Werte für A vorhanden. Soll das System nen Würfel nehmen und auswürfeln? Zitieren
MartinSt Geschrieben 7. Mai 2020 Geschrieben 7. Mai 2020 Ich würde mal behaupten, dass man es mit SQL Window Funktionen lösen kann, wenn die mehrfachen Werte in jeder Spalte direkt aufeinander folgen. Ab dem 2. ff. Wert könnte man dann NULL ausgeben. Aber Access kann sicherlich keine Window Funktionen. Zitieren
Enno Geschrieben 7. Mai 2020 Geschrieben 7. Mai 2020 @manu1214 erklär doch mal das zugrundeliegende Problem. Was willst du aus den Daten auslesen. Zitieren
manu1214 Geschrieben 7. Mai 2020 Autor Geschrieben 7. Mai 2020 (bearbeitet) Also es geht um die Fluke DMS Software, die eben die Messdaten in der MdB Datenbank ablegt, diese habe ich nun mit Access geöffnet und möchte die doppelten Datensätze rauslöschen. @Enno Wegen dem Auswürfeln: Und wenn nun immer der Datensatz( Zeile) mit der niedrigsten Spalte A Nummer behalten wird? "Suche nach doppelten Einträgen in Spalte B, wenn das System welche gefunden hat, lösche alle Zeilen dieses Spalte B Wertes bis auf die Zeile die den kleinsten Wert in Spalte A hat" Bearbeitet 7. Mai 2020 von manu1214 Zitieren
MartinSt Geschrieben 7. Mai 2020 Geschrieben 7. Mai 2020 (bearbeitet) Wenn die Tabelle in einer oder mehreren Spalten keine doppelten Werte haben soll, dann löst man das mit Constraints auf die jeweiligen Spalten. Bau dir eine entsprechende Table die Duplikate verhindert und inserte die Rohdaten von oben per Function, Trigger o.ä., wobei jeweils geprüft wird, ob Konflikte auftreten. Das sollte auch per insert into ...where not exist gehen. Bearbeitet 7. Mai 2020 von MartinSt Zitieren
Enno Geschrieben 7. Mai 2020 Geschrieben 7. Mai 2020 Oder du versuchst mal dich in das Thema Group By und Aggregatfunktionen einzuarbeiten. der Befehl könnte auch so aussehen: select min(A), B, C, D, E, F from Tabelle group by B, C, D, E, F Zitieren
manu1214 Geschrieben 7. Mai 2020 Autor Geschrieben 7. Mai 2020 Danke ich probiere es gleich morgen ob es klappt. 😃 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.