Question simple sur les DOUBLONS... - SQL/NoSQL - Programmation
Marsh Posté le 21-12-2005 à 17:42:28
tu fais une requete qui ira deleter toutes les lignes avec la même clé primaire (id) :
DELETE FROM Table WHERE id IN (SELECT id, Count(*) FROM Table GROUP BY champ2, champ3, champ4 HAVING Count(*) > 1)
Marsh Posté le 21-12-2005 à 17:45:15
sinon je peux faire avec le champ que je veux virer si il est double mais que la clé primaire est differente ?
Marsh Posté le 21-12-2005 à 17:52:56
moi j'appelle pas ça un doublon personnellement... un doublon au sens SGBD du terme est un enregistrement qui contient la même clé primaire qu'un autre enregistrement (ce qui est normalement impossible, mais certains SGBD sont assez capricieux quand ils plantent).
si tu veux effacer 2 lignes identiques avec une clé primaire différente, alors tu peux utiliser cette requete (id1 et id2 sont les clés primaires de tes enregistrements à virer)
DELETE FROM Table WHERE id IN (id1, id2)
Marsh Posté le 21-12-2005 à 17:53:56
voila un excellent article sur le sujet : http://sqlpro.developpez.com/cours/doublons/
Marsh Posté le 21-12-2005 à 20:14:18
harko > ton truc il est sympa, mais après, les doublons sont plus que dédoublonnés, y'en a plus un seul exemplaire après
Marsh Posté le 21-12-2005 à 20:17:25
Code :
|
Ca ça devrait ne conserver que les lignes de plus petits ID pour les lignes en doublon.
Marsh Posté le 21-12-2005 à 22:55:46
ReplyMarsh Posté le 22-12-2005 à 07:41:15
Arjuna a écrit :
|
Et pourquoi pas :
Code :
|
Marsh Posté le 21-12-2005 à 17:30:53
Bonjour. comment virer les doublons d'une table ? je ne sais pas faire...
Z'auriez un tuto, un exemple ?
merci
---------------
http://www.ypikay.com