IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Détection de doublons dans une table


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Détection de doublons dans une table
    Bonjour,

    Je cherche une méthode pour détécter les doublons dans une tables de contacts.

    Détails : Je possède une table avec plus de 300'000 contacts, dont une bonne série possède des doublons ! --> Reprise d'un ancien système.

    Je cherche à savoir comment je pourrais les détécter via sql (SQL 2000), en les inscrivants par exemple dans une table de comparaison ou temporaire !

    Je dois pouvoir appliquer plusieurs critère à la recherche :

    Nom Premier 6
    Nom Dernier 6
    Adresse Premier 4
    Adresse Dernier 3
    Code postal Premier 2
    Code postal Dernier 2
    Ville Premier 4
    Ville Dernier 3
    N° téléphone Premier 4
    N° téléphone Dernier 3

    Quelqu'un aurait-il une solution ?
    l'ERP lié à la BD possède bien une gestion des doublons, le problème, c'est que le lancement du contrôle est beaucoup trop long étant donné la taille de la table ! Peut-être qu'en attaquant directement depuis SQL j'arriverais à optimiser cette recherche ?
    Le contrôle sur les nouvelles saisie fonctionne cependant très bien ! Il me faut juste trouver un moyen de nettoyer les anciennes données.

    Merci d'avance pour votre aide ! Peut-être existe-il des exemples de scripts ou autres solutions ?

    Ludo

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    As-tu un identifiant unique pour chaque ligne de ta table ?

    En effet pour repérer les doublons il faut faire une jointure de ta table vers ta table.

    Exemple parlant

    maTable(
    ID INT Primary KEY
    NOM VARCHAR(80)
    NUMTEL VARCHAR(10)
    )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT DISTINCT t1.* FROM maTable t1, maTable t2
    WHERE t1.NOM=t2.NOM AND t1.ID<>t2.ID
    Je sélectionne l'ensemble des enregistrements ayant des noms en doublons.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    ok ... merci ! je vais construire une commande select avec plusieurs conditions sur des chaînes partielles et sur plusieurs champs...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. supprimer les doublons dans une table
    Par mavean dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/06/2019, 13h26
  2. [pl-sql] Recherche de doublons dans une table
    Par tommey dans le forum Oracle
    Réponses: 1
    Dernier message: 08/11/2006, 22h53
  3. Suppression de doublons dans une table partionnée
    Par ludmillaj dans le forum Oracle
    Réponses: 10
    Dernier message: 27/12/2005, 14h34
  4. Eliminer des Doublon dans une Table
    Par Soulama dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 03/02/2005, 14h27
  5. [access]doublons dans une table en access !
    Par hackerandco dans le forum Bases de données
    Réponses: 6
    Dernier message: 14/06/2004, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo