sql >> Databáze >  >> RDS >> Sqlserver

Jak odstranit duplicitní záznamy v tabulce?

Neuvádíte název stolu, ale myslím, že něco takového by mělo fungovat. Stačí nechat záznam, který má shodou okolností nejnižší ID. Možná budete chtít nejprve otestovat funkci ROLLBACK!

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. Získání návratové hodnoty z JDBC MSSQL

  2. Při aktualizaci textového pole vložte konec řádku do postgresql

  3. Extrahujte znaky napravo od hodnoty s oddělovači v příkazu SELECT

  4. Zpětné volání MySQL – existuje něco takového?