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 :

Eviter les doublons dans une requête.


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut Eviter les doublons dans une requête.
    Bonsoir à tous,

    J'ai une requête qui, exécutée, me remonte bon nombre de doublons de la table principale. C'est normal puisqu'elle effectue du tri sur des tables liées par des relations de un à plusieurs.

    En fait, ce dont j'ai besoin, c'est le nombre d'enregistrement trouvés, SANS doublons...

    En fouillant dans la FAQ, j'ai trouvé ici ce code:
    Select distinct NOM From TEMPLOYE
    Je l'ai adapté en fonction du nom de champ (et de la table d'où il vient) sur lequel je ne veux pas de doublon...

    Access m'a demandé de mettre le code entre parenthèses (Access 2000 Pro) quand je l'ai inséré dans la zone "critères", commandant l'affichage du dit champ, mais, ça ne fonctionne pas.. Il m'est retourné un message me disant: "Cette sous requête peut retourner au plus un enregistrement"..

    Voici une image avec comment j'ai utilisé le code et le message:



    Dernières précisions:
    Si le clique sur OK, rien ne se passe, la requête ne s'exécute pas,
    Si je clique sur "Aide", je n'ai qu'un panneau grisé...

    Merci de me dire ce que je n'ai pas compris et de m'aider à solutionner mon problème...

    Bonne soirée à tous!

  2. #2
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    salut,

    il me semble que tu n'a pas compris l'utilisation du code SQL de la FAQ. utilises le en mode SQL et non pas en sous requête avec QBE.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut Sql....
    Bonjour tout le monde,

    Salut Petogaz, merci de ton observation, je n'avais pas effectivement compris qu'il fallait insérer le code dans la requête SQL...

    Comme je suis une bille dans ce domaine, j'ai essayé de le faire, mais sans succès...

    Voici le code actuel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Entreprises.SIRET, Entreprises.[Raison Sociale], Entreprises.Commune, Entreprises.Zone, Entreprises.NumLStat, Actions.PlaquetteCom
    FROM Entreprises INNER JOIN (Collaborateurs INNER JOIN Actions ON Collaborateurs.NumCol = Actions.NumAct) ON Entreprises.SIRET = Collaborateurs.SIRET;
    J'ai essayé ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT Entreprises.SIRET, Entreprises.[Raison Sociale], Entreprises.Commune, Entreprises.Zone, Entreprises.NumLStat, Actions.PlaquetteCom
    FROM Entreprises INNER JOIN (Collaborateurs INNER JOIN Actions ON Collaborateurs.NumCol = Actions.NumAct) ON Entreprises.SIRET = Collaborateurs.SIRET;
    Mais sur les nombreux doublons trouvés par la requête, seul le dernier de la liste est supprimé!

    Aussi ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT  DISTINCT SIRET FROM Entreprises, Entreprises.[Raison Sociale], Entreprises.Commune, Entreprises.Zone, Entreprises.NumLStat, Actions.PlaquetteCom
    FROM Entreprises INNER JOIN (Collaborateurs INNER JOIN Actions ON Collaborateurs.NumCol = Actions.NumAct) ON Entreprises.SIRET = Collaborateurs.SIRET;
    Là, j'ai une erreur de syntaxe sur le deuxième "From", en gras dans le code...

    Précision: J'utilise Access 2000.

    Merci à vous de m'aider à écrire cette requête correctement...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 202
    Points : 122
    Points
    122
    Par défaut Well...
    Après beaucoup de temps passé à chercher ce qui merdait, j'ai trouvé:

    Le SELECT DISTINCT ne doit comprendre que des champs liés à la table principale. Là, je demandais l'affichage de champs qui font parti de tables liées et, apparemment, c'est ça qui empêchait le DISTINCT de fonctionner correctement...
    En revanche, pas de problèmes pour poser des conditions sur les dits champs..

    Voili, voila, voilo... Je poste au cas où, un jour, qq ait le même problème que moi et tombe sur ce fil...

    Merci à tous...

  5. #5
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 48
    Points : 36
    Points
    36
    Par défaut Merci
    Merci car 6 ans après ton post m'a aidé

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Autre
    Inscrit en
    Février 2013
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Autre
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2013
    Messages : 45
    Points : 30
    Points
    30
    Par défaut
    merci car 10 ans après ton post m'a aidé

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Merci car 13 ans après ton post m'a aidé !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/09/2009, 15h38
  2. Eviter les doublons dans une tables ..
    Par zouzou_18 dans le forum VB.NET
    Réponses: 10
    Dernier message: 18/09/2009, 09h13
  3. [MySQL] eviter les doublons dans une bdd
    Par sanaa16 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 05/06/2008, 17h40
  4. Eviter les doublons dans une requete ?
    Par DrySs dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/03/2006, 05h24
  5. Comment eviter les doubons dans une requête?
    Par jyms2006 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/03/2006, 14h08

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