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 :

select et Count multiples


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Par défaut select et Count multiples
    Bonjour,
    J’aimerais beaucoup avoir un peu d’aide s.v.p.
    Je construit cette requête afin de vérifier si un tel enregistrement se trouve dans une des tables à vérifier mais ça ne manche pas.
    La voilà :
    SELECT
    (SELECT COUNT(par) FROM NC_COMMENTAIRES) AS nb_comment,
    (SELECT COUNT(numero_employe) FROM NC_DOSSIERS) AS nb_dossier,
    (SELECT COUNT(qui_traitement) FROM NC_GESTION) AS nb_gestion,
    (SELECT COUNT(no_invite) FROM NC_historique_invites) AS nb_historique,
    (SELECT COUNT(no_invite) FROM NC_INVITES) AS nb_invites,
    (SELECT COUNT(id_responsable) FROM NC_responsable) AS nb_responsible,
    (SELECT COUNT(qui) FROM PAC_discuss) AS nb_discuss,
    (SELECT COUNT(id_responsable) FROM PAC_discuss_droits) AS nb_discuss_droits,
    (SELECT COUNT(id_employe) FROM PAC_dossiers) AS nb_pasdossiers,
    (SELECT COUNT(id_employe) FROM PAC_gagnants) AS nb_gagnants,
    (SELECT COUNT(no_employe) FROM PAC_new_comment) AS nb_new_comments,
    (SELECT COUNT(responsable_comite) FROM PAC_rep_comite) AS nb_comite,
    (SELECT COUNT(responsable_direction) FROM PAC_rep_direction) AS nb_direction
    FROM PAC_employes WHERE id_employe=255

    Je vous remercie d'avance

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    J'ai compté, 12 sous-requêtes, c'est un peu délirant.
    Je crois qu'en mettant les tables en jointures et en faisant des COUNT(DISTINCT nom_colonne) tu devrais pouvoir t'en sortir.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Par défaut
    Et bien, avec "distinc" le résultat semble déjà mieux mais pour la jointure, ça va pas tellement. je ne trouve pas la bonne syntaxe, avec cette longue requête...
    Pourrais-tu me donner un exemple s.v.p ?

  4. #4
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 14
    Par défaut
    Bon, je ne pense pas qu'elle est parfaite mais elle marche:

    SELECT COUNT( id_employe ) , (

    SELECT COUNT( DISTINCT par )
    FROM NC_COMMENTAIRES
    WHERE par =$id_employe
    ) AS nb_comment, (

    SELECT COUNT( DISTINCT numero_employe )
    FROM NC_DOSSIERS
    WHERE numero_employe =$id_employe
    ) AS nb_dossier, (

    SELECT COUNT( DISTINCT qui_traitement )
    FROM NC_GESTION
    WHERE qui_traitement =$id_employe
    ) AS nb_gestion, (

    SELECT COUNT( DISTINCT no_invite )
    FROM NC_historique_invites
    WHERE no_invite =$id_employe
    ) AS nb_historique, (

    SELECT COUNT( DISTINCT no_invite )
    FROM NC_INVITES
    WHERE no_invite =$id_employe
    ) AS nb_invites, (

    SELECT COUNT( DISTINCT id_responsable )
    FROM NC_responsable
    WHERE id_responsable =$id_employe
    ) AS nb_responsible, (

    SELECT COUNT( DISTINCT qui )
    FROM PAC_discuss
    WHERE qui =$id_employe
    ) AS nb_discuss, (

    SELECT COUNT( DISTINCT id_responsable )
    FROM PAC_discuss_droits
    WHERE id_responsable =$id_employe
    ) AS nb_discuss_droits, (

    SELECT COUNT( DISTINCT id_employe )
    FROM PAC_dossiers
    WHERE id_employe =$id_employe
    ) AS nb_pasdossiers, (

    SELECT COUNT( DISTINCT id_employe )
    FROM PAC_gagnants
    WHERE id_employe =$id_employe
    ) AS nb_gagnants, (

    SELECT COUNT( DISTINCT no_employe )
    FROM PAC_new_comment
    WHERE no_employe =$id_employe
    ) AS nb_new_comments, (

    SELECT COUNT( DISTINCT responsable_comite )
    FROM PAC_rep_comite
    WHERE responsable_comite =$id_employe
    ) AS nb_comite, (

    SELECT COUNT( DISTINCT responsable_direction )
    FROM PAC_rep_direction
    WHERE responsable_direction =$id_employe
    ) AS nb_direction
    FROM PAC_employes
    WHERE id_employe =$id_employe

    Merci beaucoup Maljuna Kris

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

Discussions similaires

  1. problème de requete: COUNT() multiples
    Par nicolemans72 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/02/2007, 10h06
  2. Select 2 COUNT BETWEEN 2 Date
    Par aliwassem dans le forum Langage SQL
    Réponses: 34
    Dernier message: 26/01/2007, 00h17
  3. [MySQL] SELECT données + COUNT
    Par Girzi dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 29/06/2006, 11h57
  4. Update, select et count
    Par dbuweb dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/06/2006, 16h11
  5. [MySQL] count multiple
    Par kostia dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/02/2006, 10h05

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