doppelten datensatzlöschen
Hallo Community,
habe ein kleines Problem.
Und zwar hab ich eine Datenbank mit ca. 20000 Datensätzen. Jetzt habe ich über eine Abfrage mir alle doppelten Datensätze rausgefiltert.
Soweit so gut.
Für das bessere Verständnis kurz ein Auszug aus der Datenbank:
Artikelnummer Artikelbeschreibung EK Gültigkeit
11111 Epson Drucker 50 20080501
11111 Epson Drucker 50 20080507
Ich muß nun den Datensatz rauslöschen dessen Gültikgeitswert älter ist als wie bei dem 2ten Eintrag.
In diesem Fall wäre es der erste Eintrag.
Wie muß ich vorgehen?
Gruß Wolpi25
habe ein kleines Problem.
Und zwar hab ich eine Datenbank mit ca. 20000 Datensätzen. Jetzt habe ich über eine Abfrage mir alle doppelten Datensätze rausgefiltert.
Soweit so gut.
Für das bessere Verständnis kurz ein Auszug aus der Datenbank:
Artikelnummer Artikelbeschreibung EK Gültigkeit
11111 Epson Drucker 50 20080501
11111 Epson Drucker 50 20080507
Ich muß nun den Datensatz rauslöschen dessen Gültikgeitswert älter ist als wie bei dem 2ten Eintrag.
In diesem Fall wäre es der erste Eintrag.
Wie muß ich vorgehen?
Gruß Wolpi25
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 87112
Url: https://administrator.de/contentid/87112
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
3 Kommentare
Neuester Kommentar
Moin Wolpi25,
a) WTF ist ein Gültikgeitswert? [Eyy Alter, hasstu Gültikgeit, voll krass, boah...]
b) in welche Gegend Mitteleuropas sagt man/frau denn heutzutage noch "als wie"?
c) Welches Datenformat hat denn Dein Gültigkeitsdatum (20080104)?
Frage a) und b) sind jezz' nich' so dringend, aber c) wäre nützlich.
Und eigentlich auch die Frage d)
d) Warum willst Du die ehemals gültigen Artikel-Sätze denn überhaupt löschen?
Brauchst Du die nicht für die Auftragsnachverfolgung/Abrechnung?
Reicht nicht eine "logische Löschung" bzw. eine Kennzeichnung der aktuell gültigen Artikel.
Grüße
Biber
Ich muß nun den Datensatz rauslöschen dessen Gültikgeitswert älter ist als wie bei dem 2ten Eintrag.
Dazu 3 Nachfrage:a) WTF ist ein Gültikgeitswert? [Eyy Alter, hasstu Gültikgeit, voll krass, boah...]
b) in welche Gegend Mitteleuropas sagt man/frau denn heutzutage noch "als wie"?
c) Welches Datenformat hat denn Dein Gültigkeitsdatum (20080104)?
Frage a) und b) sind jezz' nich' so dringend, aber c) wäre nützlich.
Und eigentlich auch die Frage d)
d) Warum willst Du die ehemals gültigen Artikel-Sätze denn überhaupt löschen?
Brauchst Du die nicht für die Auftragsnachverfolgung/Abrechnung?
Reicht nicht eine "logische Löschung" bzw. eine Kennzeichnung der aktuell gültigen Artikel.
Grüße
Biber
Moin Wolpi25,
zu zu a) WTF ist eine beliebte neudeutsche Redewendung, überszt in etwa "was zum Kuckuck...". Im Original "What the fogel" oder so ähnlich
zu zu b) ach so... Wetterau...da gibts schon Internet? Oder bist Du grad zu Besuch bei Verwandten in der Stadt?
zu dem Rest:
Ich würde die "aktuellen", also die Datensätze mit dem "größten" Gültigkeitswert so abgreifen.
[ungetestete Skizze]
So solltest Du alle Sätze mit dem "höchsten" Gültigkeitsdatum bekommen.
Grüße
Biber
zu zu a) WTF ist eine beliebte neudeutsche Redewendung, überszt in etwa "was zum Kuckuck...". Im Original "What the fogel" oder so ähnlich
zu zu b) ach so... Wetterau...da gibts schon Internet? Oder bist Du grad zu Besuch bei Verwandten in der Stadt?
zu dem Rest:
Ich würde die "aktuellen", also die Datensätze mit dem "größten" Gültigkeitswert so abgreifen.
SELECT a.Artikelnummer, a.Artikelbeschreibung, a.EK, a.Gültigkeit From Artikel a,
(Select c.Artikelnummer , max(c.Gültigkeit) as Gültigkeit From Artikel c group by c.Artikelnummer) b
WHERE a.Artikelnummer = b.Artikelnummer and a.gültigkeit=b.gültigkeit
So solltest Du alle Sätze mit dem "höchsten" Gültigkeitsdatum bekommen.
Grüße
Biber