ich habe folgendes Problem. Ich habe einen Datensatz mit 4 Spalten. Durch einen Fehler ist es dazu gekommen, dass ich doppelte Einträge in meiner Access Tabelle habe. Ich benötige allerdings nur die Zeile mit dem höheren Preis.
Beispiel:
Verkaufsid, Verkaufsdatum, Verkäufer, Preis
1258, 25.10.2013, Müller, 15,25€ --> soll gelöscht werden
1258, 25.10.2013, Müller, 17,50€ --> soll behalten werden
Ich habe mit Hilfe der Access Duplikate Suche alle doppelten Werte gefunden, die ich nun einzelnt löschen könnte. Bei ca 600 Werten ist das aber viel zu viel. Gibt es einen Weg automatisiert alle Einträge mit dem kleineren Preis zu löschen?
Besten Gruß und vielen vielen Dank im voraus.
uocid
ich habe folgendes Problem. Ich habe einen Datensatz mit 4
Spalten. Durch einen Fehler ist es dazu gekommen, dass ich
doppelte Einträge in meiner Access Tabelle habe. Ich benötige
allerdings nur die Zeile mit dem höheren Preis.
Beispiel:
Verkaufsid, Verkaufsdatum, Verkäufer, Preis
1258, 25.10.2013, Müller, 15,25€ --> soll gelöscht werden
1258, 25.10.2013, Müller, 17,50€ --> soll behalten werden
Ich habe mit Hilfe der Access Duplikate Suche alle doppelten
Werte gefunden, die ich nun einzelnt löschen könnte. Bei ca
600 Werten ist das aber viel zu viel. Gibt es einen Weg
automatisiert alle Einträge mit dem kleineren Preis zu
löschen?
Statt zu löschen, erzeuge eine neue Tabelle mit nur den Max-Werten:
Select t.Verkaufsid, t.Verkaufsdatum, t.Verkäufer, max( t.Preis) as Preis Into TabelleNeu
From Tabelle1 AS t
Group by t.Verkaufsid , t.Verkaufsdatum, t.Verkäufer
grindsätzlich müßte die Sochfunktion mir einer wenn-dann-Funktion verknüpft werden. Ob das geht, kann ich leider ohne MS-Office nicht testen, Gibt die Hilfe (F1 oder ?) nichts her?
so ein Vorschlag führt eher in die Irre denn zum Ziel…
nix mit wenn… dann.
Wenn unbedingt gelöscht werden muss, dann ginge das etwa so quick&dirty:
Delete \*
From Tabelle1
Where Verkaufsid & Verkaufsdatum & Verkäufer & preis Not in
(select t.Verkaufsid & t.Verkaufsdatum & t.Verkäufer & max (t.Preis) as MPr From Tabelle1 as t Group by t.Verkaufsid , t.Verkaufsdatum, t.Verkäufer )