Hinweis: Wenn möglich, suche ich nach einer reinen SQL-Abfragelösung, damit ich sie im SQL Server Manager ausführen kann.Löschen/Aktualisieren von x aus x + 1 doppelten Zeilen in einer Datenbank
Ich hatte einen Fehler in meinem Skript, das bedeutet, dass einige Daten, die einmal gemeint waren zu betreten haben mehrere Male und jetzt brauche ich eine Art und Weise eingegeben wurden, entweder alle PRO company_id
Feld, aber 1 Eintrag löscht oder Aktualisierung der export
Spalte 1 Eintrag pro company_id
wo:
short_desc
die mehr als ein Vorkommen hat und long_desc
hat mehr als ein Auftreten
Meine Daten wie so strukturiert:
id | company_id | short_desc | long_desc | export
1 1234 word text 0
2 1234 word text 0
3 1234 word text 0
4 1234 word text 0
5 1234 word text 0
6 1234 word text 0
7 5678 another foo 0
8 5678 another foo 0
9 5678 another foo 0
10 5678 another foo 0
11 5678 another foo 0
12 5678 another foo 0
ich nicht dagegen, welche Einträge aktualisiert werden/so lange gelöscht, wie ich nur 1 von jeder so in dem obigen Beispiel würde ich nur zwei Einträge haben links/als export=-1
markiert.
Ich habe versucht, verschiedene Dinge mit Subselects zu tun und Gruppe von, aber ich muss immer am Gruppieren auf id
als auch so enden, damit ich nie die Duplikate. Ich weiß nicht, ob es gerade ein langer Morgen gewesen ist, aber ich kann nicht an eine reine SQL-Methode denken, um das zu tun, und ich möchte versuchen, das Schreiben eines Skripts zu vermeiden, um es zu tun.
Wenn der export
-Flag gesetzt ist, werde ich einfach löschen, wo es 0 gleich
I SQL Server 2008.
Oh Gott, langer Morgen bin mit schätze ich. Danke vielmals. – webnoob
du bist willkommen .. – hkutluay