Frage : Wie kann ich doppelte Aufzeichnungen in einer SQL-Datenbank ohne einen Primärschlüssel löschen?

Gibt es eine Weise, doppelte Eintragungen auf einer SQL-Serverdatenbank zu löschen, die nicht einen Primärschlüssel hat? Ich kann doppelte Eintragungen löschen, indem ich den Befehl des SATZES ROWCOUNT verwende, aber dieser würde weit zu lang dauern, da ich jede Aufzeichnung würde spezifizieren müssen, die Duplikate hat.  Dieses tut nicht, da die Tabelle Tausenden Aufzeichnungen hat.  Gibt es eine leichte Art, alle Duplikate zu löschen?  

Antwort : Wie kann ich doppelte Aufzeichnungen in einer SQL-Datenbank ohne einen Primärschlüssel löschen?

Lieb

Sagen, dass Sie eine Tabelle zum Beispiel mit dem folgenden Feld haben
col1, col2, col3, col4, colN.

den below Befehl zuerst verwenden

* in Table1_Back von Table1 vorwählen

unterhalb des Befehls dann verwenden, die ursprüngliche Tabelle zu beschneiden

Trunacate table1

die below Frage dann verwenden, um Aufzeichnungen mit den möglichen doppelten gefilterten Aufzeichnungen zurück einzusetzen.

in Table1 (fieldList) einsetzen
Eindeutiges col1, col2, col3, col4, colN vorwählen von Table1_back

für Überprüfung der oben genannten Tricks zuerst lassen Sie die 2 Fragen als unten laufen.

1) Zählimpuls (*) von table1 vorwählen
2) Eindeutiges col1, col2, col3, col4, colN vorwählen von Table1
und überprüfen, wie viel das Nr. der Aufzeichnungen durch das 1 (erste) Frage Resultat zurückbrachte und wie viel Nr. Reihen durch zweite Frage zurückging. Sie sollten das unterschiedliche Nr. der Reihen für beide Fragen defintly erhalten und wenn so meine oben genannten trciks suly für Sie arbeiten.
ich hatte die gleiche Vergangenheit des Probleme innen, in der meine Datenbank eine Vorlagentabelle von mebers und Kindtabelle des Mitgliedsbaums hatte, und ich hatte das oben genannte techinq benutzt und es funktioniert. Ich hoffe mich sollte unwirsche Arbeit für Sie.

Dank u. Respekt.
Weitere Lösungen  
 
programming4us programming4us