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 et SQL. Discussion :

Formule Personalisee pour trouver les doublons [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 252
    Points : 125
    Points
    125
    Par défaut Formule Personalisee pour trouver les doublons
    Bonjour tout le monde,
    J’ai la table ci-dessous et j’iamerais reperer/trouver les doublons sur les champs :
    bID, bFirstName et bLastName.
    la reponse doit etre la ligne :
    1---Alain---Dubois ---2(ie le nombre de doublon)

    TableB
    bID bFirstName bLastName
    1 Alain Dubois
    1 Alain Dubois
    1 Alain LeGentil
    2 Bonero BB
    3 Rico Dupont
    3 Rico Duval
    7 Albert AA
    8 Jerome JJ


    Pour ce faire, j’utilise ma propre requete SQL qui est la suvante et cela donne le meme resultat que l’assistant de doublons d'Access.
    Par contre, la requete SQL de l’assistant differe principalement de la mienne au niveau de la condition HAVING ….

    Ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Select  bID
    	,bFirstName
    	,bLastName
    	,Count(bID) AS DuplicateCounter
    From TableB
    Group BY 
    	bFirstName
    	,bLastName
    	,bID
    HAVING  Count(bID)  > 1


    La requete SQL de l’assistant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT First(TableB.bID) AS [bID Field]
    , First(TableB.bFirstName) AS [bFirstName Field]
    , First(TableB.bLastName) AS [bLastName Field]
    , Count(TableB.bID) AS NumberOfDups
    FROM TableB
    GROUP BY TableB.bID
    , TableB.bFirstName
    , TableB.bLastName
    HAVING (((Count(TableB.bID))>1) AND ((Count(TableB.bLastName))>1));
    Question:
    Quelle est la meilleure ecriture?
    Existent-ils de cas ou ma requete ne donnerait pas la bon resultat ?
    je ne comprends pas le rajout par l'assistant de la condition AND (Count(TableB.bLastName))>1


    Merci de me repondre.
    Cordialement.

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 722
    Points : 57 415
    Points
    57 415
    Billets dans le blog
    42
    Par défaut
    bonsoir,

    la 1ère requête est très bien alors que l'assistant doublon fait ce qu'il peut.

    Mieux encore, remplace count(bId) par count(*).

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/06/2014, 12h34
  2. formule ou macro pour identifier les doublons
    Par TICHKA dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/02/2014, 12h43
  3. [DeskI Xi3] Formule pour éviter les doublons
    Par mamyda dans le forum Débuter
    Réponses: 7
    Dernier message: 09/11/2010, 18h13
  4. requête pour trouver les champs sans doublons
    Par kuhnden dans le forum Access
    Réponses: 2
    Dernier message: 28/03/2008, 18h34
  5. Réponses: 3
    Dernier message: 24/11/2005, 09h44

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