sql >> Database >  >> RDS >> Sqlserver

Hoe dubbele records in een tabel te verwijderen?

Je geeft je tabelnaam niet op, maar ik denk dat zoiets zou moeten werken. Gewoon het record achterlaten dat toevallig de laagste ID heeft. Misschien wilt u eerst met de ROLLBACK testen!

BEGIN TRAN
DELETE <table_name>
FROM <table_name> T1
WHERE EXISTS(
SELECT * FROM <table_name> T2 
WHERE     
T1.TYPE_INT = T2.TYPE_INT  AND
T1.SYSTEM_VALUE = T2.SYSTEM_VALUE  AND
T1.NAME = T2.NAME  AND
T1.MAPPED_VALUE = T2.MAPPED_VALUE  AND
T2.ID > T1.ID
)

SELECT * FROM <table_name>

ROLLBACK


  1. Hoe u mysql-fouten kunt uitschakelen die op het scherm worden weergegeven in CodeIgniter

  2. SQL-injectie, offertes en PHP

  3. Hoe u de huidige datum en tijd in MySQL kunt krijgen

  4. Buitenlandse sleutel tot een-op-alles-relatie