cs_mohellebi
Messages postés98Date d'inscriptionmercredi 31 octobre 2007StatutMembreDernière intervention 1 août 2019
-
20 avril 2014 à 14:01
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 2016
-
5 mai 2014 à 12:15
Bonjour ,
après des recherche sur le net, afin de trouver une requête qui me permettra de supprimer les doublons dans ma table "manif" sous sql server 2008, j'ai trouvé une solutions plutôt souple :
1/Créer une colonne
ALTER manif
ADD colid uniqueidentifier
2/remplir la colonne avec un identifient pour chaque enregistrement
UPDATE manif
SET COLUID = newid()
3/lancer la requête qui supprime les doublons
delete from manif
where colid in
( select colid from manif t1 where exists
( select colid from manif t2 where t1.colid <> t2.colid
and t1.agence = t2.agence ) )
La procédure marche parfaitement , en revanche elle supprime tout les enregistrement en double, y compris le premier enregistrement
maintenant , je ne sais pas comment formuler ma requête pour garder le premier enregistrement
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201625 5 mai 2014 à 12:15
salut,
tu peux rajouter un "and" pour exclure le manif.colid de référence
afin de ne pas le supprimer
delete from manif
where colid in
( select t1.colid from manif t1 where exists
( select t2.colid from manif t2 where t1.colid <> t2.colid
and t1.agence = t2.agence )
and t1.colid <> manif.colid )