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

Développement SQL Server Discussion :

Supprimer doublon sur une colonne


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 103
    Points : 49
    Points
    49
    Par défaut Supprimer doublon sur une colonne
    Bonjour à tous !

    Mille excuses pour cette question mais j'ai parcouru plusieurs forums sans jamais trouver ma solution.

    J'ai une table qui contient plusieurs colonnes, dans celle-ci dans ma requête SQL je veux afficher 2 colonnes mais supprimer les doublons sur 1, exemple :

    |Id|Nom|
    |1|Toto|
    |2|Dupond|
    |3|Dupond|
    |4|Durant|

    Je veux que ma requête m'affiche ceci :

    |Id|Nom|
    |1|Toto|
    |2|Dupond|
    |4|Durant|

    Sur les 2 Dupond je n'en ai que un car il y a un doublon.

    Dans les différents que j'ai lu, j'avais Distinct mais cela ne fonctionne pas car ça ne tient pas compte de ma colonne et ensuite Group By mais là ! Mystère car cela concerne un regroupement sur une somme, un compteur et autres.

    Je suis désolé de poser une question bête pour vous mais pour moi ... je colle !

    Merci d'avance à tous pour votre aide.

    Cordialement.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    La question de fond sur ce type de dédoublonage est toujours la même :
    Si deux lignes de la table ont le même nom en commun, en cas de dédoublonnage sur cette colonne, quel est le critère qui permettra de sélectionner une ligne plutôt qu'une autre ?

    NB : deux réponses ne sont pas recevables :
    • Je sélectionne la première...
      La première ? Par rapport à quel ordre ? Une table n'est pas ordonnée...
    • N'importe laquelle, au hasard.
      Le hasard est assez difficile à mettre en oeuvre en SQL. Et puis cela signifierait que la même requête retournerait des résultats différents entre deux exécutions sur le même jeu de données.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 103
    Points : 49
    Points
    49
    Par défaut
    Bonjour al1_24 et merci pour votre réponse, après avoir lu votre post et réflexion, il est tout à fait vrai que ce que je veux faire est totalement rédicule !

    Je vais juste faire un distinct sur le nom est c'est parfait, je sais pas dans quel délire je me suis embarqué mais votre post m'a remis les idées au claire.

    En tout cas merci pour votre aide.

    Cordialement.

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 057
    Points : 9 396
    Points
    9 396
    Par défaut
    Tu as dit :
    Je veux que ma requête m'affiche ceci :

    |Id|Nom|
    |1|Toto|
    |2|Dupond|
    |4|Durant|
    En particulier, tu veux afficher la colonne numérique, avec les id 1,2,4. Pour Dupond, tu as retenu 2, plutôt que 3... donc on va considérer que si pour un nom, on a plusieurs id, on va afficher le plus petit (je dis le plus petit plutôt que le premier, volontairement).
    Et donc, on va avoir cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select min(id), nom  from maTable group by nom ;
    Mais en fait au vu du dernier message, je pense que tu veux simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select nom  from maTable group by nom ;
    Ce qui est identique à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select distinct (nom) from maTable ;
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/05/2014, 13h48
  2. [XL-2007] interdire saisie doublon sur une colonne
    Par borisp dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 15/11/2011, 14h39
  3. [Tableaux] supprimer doublon d'une colonne
    Par melisse dans le forum Langage
    Réponses: 4
    Dernier message: 22/02/2007, 09h01
  4. supprimer les doublons . . . . d'une colonne donnée !
    Par pekka77 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/10/2006, 17h38
  5. Supprimer doublons sur 3 colonnes?
    Par pegase33 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/09/2006, 12h55

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