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 :

Attribuer un identifiant auto sur un groupement de lignes


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Avril 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2015
    Messages : 59
    Points : 29
    Points
    29
    Par défaut Attribuer un identifiant auto sur un groupement de lignes
    Bonjour à tous,

    Je suis nouveau dans l'utilisation de mySQL et tout ce qui est SGBD, php etc. mais pour autant on me donne un projet plutôt conséquent à réaliser histoire de me former.

    Dans le projet qui m'est attribué, j'ai en charge la gestion des doublons de personnes (pour lesquels j'ai un nom, un prénom, une date de naissance et un sexe) et je dois pouvoir déterminer ce qui est un doublon et ce qui n'en est pas un. Pour être clair dans la définition un nom qui se rapproche et/ou un prénom qui se rapproche avec une date de naissance similaire sera considéré comme un doublon potentiel.
    J'ai dans l'idée de faire une interface graphique qui permette de valider les informations auprès de l'utilisateur.

    J'ai donc eu l'idée de faire une requête qui permette de ressortir l'ensemble des doublons et les grouper par SOUNDEX et autres critères attribuer au groupe un Identifiant simple qui me permette à travers une interface graphique et une requête simple de faire ressortir chaque ligne du groupe de doublon dans un tableau et par un traitement ultérieur les fusionner.

    Est-il possible d'atteindre un tel objectif ? Comment procéder pas à pas?

    Je vous remercie pour votre aide.

  2. #2
    Membre éclairé Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Points : 870
    Points
    870
    Par défaut
    Faire sortir les doublons en fonction d'un ensemble de colonne est très facile en SQL.
    Regarde du coté du group by avec count.
    http://sqlpro.developpez.com/cours/sqlaz/ensembles/

    En rajoutant une clause having, tu peux ne selectionner que les doublons. Ou alors, tu affiches ton count, ce qui te permet de l'utiliser dans ton outil de restit.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Avril 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2015
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    Pour grouper les doublons comme sur le lien je vois et c'est comme ça que je veux faire. Mais l'étape d'avant qui consiste à attribuer un même identifiant pour ce groupement est-il possible?

    J'obtiens forcément une erreur lorsque je mets une condition à une requête de type ALTER TABLE ou UPDATE pour mettre un Identifiant

  4. #4
    Membre éclairé Avatar de bstevy
    Homme Profil pro
    Solutions Architect
    Inscrit en
    Mai 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Japon

    Informations professionnelles :
    Activité : Solutions Architect
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 552
    Points : 870
    Points
    870
    Par défaut
    Le mieux pour attribuer un identifiant, c'est d'attribuer le "numéro de la ligne"
    Donc, déjà, si vous n'avez pas de colonne identifiant, il va sans doute falloir recréer la table. Selon les SGBD, l'ajout d'une colonne n'est pas forcément possible.
    Mais un simple "create as select" devrais résoudre votre problème. Vous créez une nouvelle table, et vous la renommer avec le nom de l'ancienne.

    Maintenant, pour l'identifiant, vous devriez même sous MySQL pouvoir générer un numéro de ligne.

Discussions similaires

  1. N° Facture auto sur formulaire
    Par doxys dans le forum Access
    Réponses: 3
    Dernier message: 23/06/2006, 15h08
  2. Réponses: 8
    Dernier message: 08/06/2006, 11h20
  3. Problème avec Overflow:auto sur Firefox.
    Par psychoBob dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 23/05/2006, 16h46
  4. [FireBird 1.5] Identifiant auto
    Par fremsoi dans le forum SQL
    Réponses: 4
    Dernier message: 29/12/2005, 14h36

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