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 :

Comment supprimer les doublons


Sujet :

MS SQL Server

  1. #1
    Candidat au Club
    Inscrit en
    Août 2002
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Comment supprimer les doublons
    bonjour
    Comment supprimer les doublons (les ligne qui se répète) dans une table non indexée ?
    merci.

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Donne la définition de ta table.

  3. #3
    Candidat au Club
    Inscrit en
    Août 2002
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    merci pour votre réponse
    date_deb char 10
    heure_deb char 10
    date_fin char 10
    heure_fin char 10
    code char 10
    mat char 10
    voix char 10

    dans toutes les colonne null autorisé

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 567
    Points
    19 567
    Billets dans le blog
    25
    Par défaut
    Il y a la version SQL lourde de type SELECT ... GROUP BY... HAVING COUNT(*) > 1, puis suppressions avec TOP 1

    ... ou alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    exec sp_rename TaTable, taTableOld
    select distinct * into TaTable from  taTableOld
    drop table taTableOld
    exec sp_recompile TaTable

  5. #5
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Je devais proposer la solution lourde des select having mais c'est trop lourd.
    Mais fadace était là trop tôt.

  6. #6
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 567
    Points
    19 567
    Billets dans le blog
    25
    Par défaut
    Ce n'est qu'un juste retour, pour une fois que c'est moi qui grille les politesses

    De plus, si c'etait pour la solution lourde, autant laisser la place

    PS : une table avec doublons est une table qui ne repond meme pas a 2FN... un petit effort, que

  7. #7
    Candidat au Club
    Inscrit en
    Août 2002
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci pour vaux réponse qui on remédier à mon problème.

  8. #8
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 240
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 240
    Points : 213
    Points
    213
    Par défaut
    Bonjour fadace,
    Pour résoudre un problème de doublon sur une table non indexé, J'ai repris ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    exec sp_rename TaTable, taTableOld
    SELECT DISTINCT * INTO TaTable FROM  taTableOld
    DROP TABLE taTableOld
    exec sp_recompile TaTable
    Lorsque je crée une nouvelle requete avec ce code sql ,
    j'ai un message d'erreur qui me dis que "instruction sql non valide".

    Que se passe t il ?

    Pour info , ma table, intitulée "T_Lise des clients", contient deux colonnes :
    Colonne "client code" et colonne "client libellé" .
    Or la colonne "client code" a beaucoup de doublon : le code client revient parfois une centaine de fois alors que je voudrais qu'il apparait qu'une seul fois.

  9. #9
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 240
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 240
    Points : 213
    Points
    213
    Par défaut
    fadace,

    J'ai trouve la solution.
    Il suffisait de rajouter le mot "distinct" a la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT [T_Liste des clients SLM].[Client Code], [T_Liste des clients SLM].[Client Libellé]
    FROM [T_Liste des clients SLM];
    Et là, je n'obtiens plus de doublons sur les champs client code et client libellé.
    je me dis parfois que je fatigue en fin de semaine...
    a plus..

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 18
    Points : 19
    Points
    19
    Par défaut Suppression des doublons
    Bonjour à tous,

    Cette requête qui consiste à copier une table dans une autre et en la recréant sans les doublons fonctionne très bien, mais pas pour moi.

    En effet, j'ai des enregistrements qui sont considérés comme doublons car 3 colonnes sur 12 sont des doublons.
    Si j'exécute cette requête, il ne me supprime pas les doublons car tous les champs ne son pas identiques.

    Ce que je souhaite faire, c'est sélectionner les critères qui définissent le doublon, à la manière d'Excel quand on utilise la fonction de contrôle de doublons.

    Merci de votre aide

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/02/2008, 20h02
  2. Comment supprimer les doublons d'une table?!
    Par JauB dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/01/2006, 08h48
  3. Comment supprimer les doublons?
    Par Dnx dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/11/2005, 16h35
  4. [vbexcel]Comment supprimer les doublons dans une combobox?
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 24/11/2005, 11h12

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