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

Requêtes MySQL Discussion :

Affichage de doublons


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur D'étude en Informatique Médicale
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur D'étude en Informatique Médicale
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Par défaut Affichage de doublons
    Bonjour,

    Je suis en informatique médicale et nous avons un projet qui consiste à identifier correctement les patients d'une base de donnée.
    Dans ma table j'ai 5 champs : id, nom, prenom, sexe et date de naissance.

    Dans notre sujet il nous est dit que les variables nom et date de naissance sont fiables par contre il peut y avoir des erreurs sur le prénom ou le sexe.
    ex :
    id nom prénom sexe date de naissance
    5 DUGAT PAUL 1 1947-08-24
    8 DUGAT POL 1 1947-08-24

    Je voudrais pouvoir afficher les différentes lignes suspectées d'être des doublons.
    Merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    La première analyse pour détecter les doublons doit être faite sur le nom et la date de naissance.

    Il suffit donc de grouper par ces deux colonnes, de compter le nombre de lignes et de ne garder que les couples {nom, date_naissance} qui ont plus de 2 lignes.

    Tout le matérie nécessaire à cette requête se trouve dans le cours de SQLPro sur les groupages.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    essaie ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select count(*) doublon ,nom,date_Naissance from la_table 
    group by nom,date_Naissance 
    having cont(*)>1

  4. #4
    Invité
    Invité(e)
    Par défaut
    Comment détecter des doublons si les seules données fiables sont les nom et date de naissance ? des jumeaux portent le même nom et sont nés le même jour ! comment les départager alors que l'on considère le reste des données non fiable ?...
    En informatique médical, la seule donnée qui permettrait d'identifier un individu est son numéro SécuSocial non ?
    Après la syntaxe proposée par islamov2000 me semble être celle qui répond le plus à l'exposé

  5. #5
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par cladsous Voir le message
    Comment détecter des doublons si les seules données fiables sont les nom et date de naissance ? des jumeaux portent le même nom et sont nés le même jour ! comment les départager alors que l'on considère le reste des données non fiable ?...
    En informatique médical, la seule donnée qui permettrait d'identifier un individu est son numéro SécuSocial non ?
    Après la syntaxe proposée par islamov2000 me semble être celle qui répond le plus à l'exposé
    Dans ce cas ,cladsous, tu as raison.
    Mais je comprend Nass42, apparement il veut nettoyer la base de données. on ne sais s'ils ont indentifiant comme numéro de sécurité sociale ou un matricule... sinon on filtre par rapport avec l'indentifiant.

  6. #6
    Membre averti
    Femme Profil pro
    Ingénieur D'étude en Informatique Médicale
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur D'étude en Informatique Médicale
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Par défaut C'est bon !
    Le problème que me pose les GROUP BY HAVING c'est qu'en résultat je n'ai qu'une seule ligne alors que je voudrais afficher les 2 lignes du doublon pour que l'utilisateur puisse choisir quel est le vrai enregistrement et quel est celui erroné. J'ai pu réglé le problème avec un WERE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT a.id_pat, a.nom, a.prenom, a.sexe, a.datenais
    FROM patient AS a, patient AS b
    WHERE a.nom = b.nom
    AND a.datenais = B.datenais
    AND a.id_pat != B.id_pat;
    Ensuite, pour cladsou, ce n'est qu'un exercice donné par un de nos professeurs mais sur des données réelles d'hôpitaux et de laboratoires elles ne sont donc pas complètes pour ne pas pouvoir reconnaitre les patients dont il est question. Donc bien sur nous n'avons pas d'identifiant patient sinon je ne me serais pas posée de question ^^

    Merci à tous pour vos réponses !

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

Discussions similaires

  1. [AC-2003] Affichage des doublons
    Par tarnx dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/12/2009, 15h00
  2. Affichage "faux" doublons
    Par djunityfr dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 08/12/2008, 11h04
  3. [A 03] Affichage de doublon
    Par thierrybatlle dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 26/10/2008, 00h34
  4. Affichage de doublons dans un formulaire
    Par kyuss dans le forum IHM
    Réponses: 2
    Dernier message: 11/02/2007, 09h03
  5. Affichage de doublons
    Par Nyx de Tours dans le forum Requêtes
    Réponses: 5
    Dernier message: 21/07/2004, 16h30

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