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

Langage SQL Discussion :

Doublons dans table SQL


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Par défaut Doublons dans table SQL
    Bonjour

    Je cherche a faire une requête qui passerai de la table nommé client constituer comme ci-dessous

    Nom Prenom Ville
    martin patrick paris
    martin gerard nice
    skywalker luc nice
    dupont marc paris

    à une table comme ca :

    Nom Prenom Ville
    martin patrick paris
    skywalker luc nice
    dupont marc paris


    Soit un masquant les doublons dans le champ Nom mais en affichant les autres colonnes .
    Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    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 143
    Par défaut
    Sur quel critère écartes-tu martin gerard nice au profit de martin patrick paris ?
    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 averti
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Sur quel critère écartes-tu martin gerard nice au profit de martin patrick paris ?
    Aucune importance

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    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 143
    Par défaut
    En SQL, rien n'est sélectionné de manière aléatoire. Ainsi chaque nouvelle exécution d'une requête sur le même ensemble de données doit retourner le même résultat.
    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.

  5. #5
    Membre averti
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    En SQL, rien n'est sélectionné de manière aléatoire. Ainsi chaque nouvelle exécution d'une requête sur le même ensemble de données doit retourner le même résultat.
    Dans mon PhpMyadmin si j’exécute cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT `Nom`, `Prenom`,`Ville` FROM client GROUP BY `Nom`
    Cela me retourne le tableau qui correspond à mes attentes.

    Maintenant j'utilise une VCL qui s'appel ABSOLUTE DATABASE qui fonctionne avec des requêtes SQL, mais lui n'accepte pas du tout cette ligne.

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    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 143
    Par défaut
    Citation Envoyé par zymoplexil Voir le message
    Dans mon PhpMyadmin si j’exécute cette commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT `Nom`, `Prenom`,`Ville` FROM client GROUP BY `Nom`
    Cela me retourne le tableau qui correspond à mes attentes.

    Maintenant j'utilise une VCL qui s'appel ABSOLUTE DATABASE qui fonctionne avec des requêtes SQL, mais lui n'accepte pas du tout cette ligne.
    Il n'y a que MySQL pour accepter et exécuter cette commande syntaxiquement fausse.
    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.

  7. #7
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 772
    Billets dans le blog
    10
    Par défaut
    Si votre SGBD accepte les fonctions fenêtrées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select * from (                                           
       select dense_rank()                                    
              over(partition by nom                           
                   order by nom, prenom, ville) as rang       
             , nom                                            
             , prenom                                         
             , ville                                          
       from CLIENT)                                             
    where rang=1
    Limite de la solution : si vous avez 2 "martin gérard paris" vous sortirez 2 lignes, un id unique serait préférable pour garantir l'unicité

  8. #8
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 955
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 955
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    Limite de la solution : si vous avez 2 "martin gérard paris" vous sortirez 2 lignes, un id unique serait préférable pour garantir l'unicité
    Il suffit d'utiliser row_number à la place de dense_rank puisqu'il se fiche de celui qui est conservé.

  9. #9
    Membre averti
    Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Par défaut
    Citation Envoyé par skuatamad Voir le message
    Il suffit d'utiliser row_number à la place de dense_rank puisqu'il se fiche de celui qui est conservé.
    dense_rank
    row_number

    non reconnu

Discussions similaires

  1. C# - Valeur d'une textbox dans table SQL
    Par jerome1357 dans le forum C#
    Réponses: 2
    Dernier message: 04/07/2008, 16h47
  2. Transfert DataTable dans Table SQL SERVER
    Par crapouye dans le forum ASP.NET
    Réponses: 6
    Dernier message: 01/02/2008, 17h03
  3. MySQL enlever doublons dans table
    Par MCSalsa dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/06/2007, 21h18
  4. rechercher et éliminer doublons dans table
    Par patbeautifulday1 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 16/05/2007, 10h27
  5. Insertion dans table SQL server (Trigger) Aidz moi SVP????
    Par pop bob dans le forum Développement
    Réponses: 2
    Dernier message: 30/07/2005, 23h55

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