Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Delete duplicate records
Message
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Syntaxe SQL
Versions des environnements
SQL Server:
SQL Server 2014
Application:
Web
Divers
Thread ID:
01627249
Message ID:
01627250
Vues:
49
>Hi,
>
>I have a table where I want to delete ONE of two duplicate records based on the fact that values in two fields are the same. For example:
>
>
>FIELD1    FIELD2
>1              Entry ABC
>1              Entry ABC
>2              Entry 123
>2              Entry 123
>
>
>and so on. There are other fields in this table but they should not be considered when deleting one record. How can you do it in T-SQL?
>
>TIA.
DECLARE @TEst TABLE (FIELD1 int, FIELD2 char(10))
INSERT INTO @Test VALUES (1,'Entry ABC')
INSERT INTO @Test VALUES (1,'Entry ABC')
INSERT INTO @Test VALUES (2,'Entry 123')
INSERT INTO @Test VALUES (2,'Entry 123')

;with cteTest
AS
(
SELECT *, ROW_NUMBER() OVER (PARTITION BY Field1, Field1 ORDER BY Field1, Field1) AS R_C
FROM @TEst Test
)

DELETE FROM cteTest WHERE R_C > 1

SELECT * FROM @TEst 
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform