Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak usunąć zduplikowane rekordy w tabeli?

Nie podajesz nazwy stołu, ale myślę, że coś takiego powinno działać. Po prostu zostawiam rekord, który akurat ma najniższy identyfikator. Możesz najpierw przetestować z 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Procesor kwerend nie może utworzyć planu kwerendy z powodu wskazówek zdefiniowanych w tej kwerendzie. Wyślij zapytanie ponownie i bez użycia SET FORCEPLAN

  2. Najszybszy sposób przesyłania danych tabeli Excel do SQL 2008R2

  3. Jak działa RANK() w SQL Server

  4. nie można oddać wartości jako zmiennoprzecinkowej

  5. Jaka jest różnica między char, nchar, varchar i nvarchar w programie SQL Server?