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 :

Comment faire un count distinct ?


Sujet :

Requêtes et SQL.

  1. #1
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 184
    Points : 1 363
    Points
    1 363
    Par défaut Comment faire un count distinct ?
    Bonjour,

    J'ai une table Dossier, une table Action et une table Pays.
    Un dossier a plusieurs actions.
    Une action est menée par un pays et un pays peut mener plusieurs actions sur le même dossier.
    Je voudrais, par pays, le nombre de dossiers (et non pas le nombre d'actions) et je coince un peu.
    Je précise que je dois aussi ramener des champs de la table dossier.

    Comment faire ?

    Merci.

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Le pb c'est si un même pays peut mener plusieurs actions pour le même dossier.
    Il y a sûrement plus simple, mais tu peux faire avec 2 requêtes.
    rqt1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT tbl1Pays.NomPays, tbl1Dossiers.IdDossier
    FROM tbl1Pays INNER JOIN (tbl1Dossiers INNER JOIN tbl1Actions ON tbl1Dossiers.IdDossier = tbl1Actions.IdDossier) ON tbl1Pays.IdPays = tbl1Actions.IdPays
    GROUP BY tbl1Pays.NomPays, tbl1Dossiers.IdDossier;
    et rqt2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT rqt1.NomPays, Count(rqt1.IdDossier) AS CompteDeIdDossier
    FROM rqt1
    GROUP BY rqt1.NomPays;
    Bon courage,

    PGZ

  3. #3
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 184
    Points : 1 363
    Points
    1 363
    Par défaut
    Merci.
    Le problème, c'est qu'il faut que je le fasse en une requête ...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Points : 847
    Points
    847
    Par défaut
    Salut,

    Tu peux imbriquer les requetes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT tbl1Pays.NomPays, tbl1Dossiers.IdDossier
    FROM (SELECT rqt1.NomPays, Count(rqt1.IdDossier) AS CompteDeIdDossier
    FROM rqt1
    GROUP BY rqt1.NomPays) as tbl1Pays 
    INNER JOIN (tbl1Dossiers INNER JOIN tbl1Actions ON tbl1Dossiers.IdDossier = tbl1Actions.IdDossier) ON tbl1Pays.IdPays = tbl1Actions.IdPays
    GROUP BY tbl1Pays.NomPays, tbl1Dossiers.IdDossier;
    A+

Discussions similaires

  1. Comment faire un Count() sans un group by interminable ?
    Par olibara dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 14/08/2009, 17h09
  2. Comment faire un count ?
    Par mdordenart dans le forum iReport
    Réponses: 6
    Dernier message: 29/05/2009, 11h29
  3. Comment faire un count(*) ?
    Par jeffidf dans le forum Cognos
    Réponses: 1
    Dernier message: 20/03/2009, 22h17
  4. Réponses: 1
    Dernier message: 28/03/2007, 12h23
  5. Comment faire un count de colonnes null
    Par claralavraie dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/01/2006, 14h13

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