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 :

Requete avec deux count sur 3 tables


Sujet :

Requêtes MySQL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Requete avec deux count sur 3 tables
    Bonjour,

    J'ai 3 tables pour mon annuaire

    annuaires(idannuaire,nom)
    sites (id,idannuaire,url) et
    sitesavalider (id,idannuaire,url)

    Exemple :

    annuaires (1,annuaire1,2,annuaire2,3,annuaire3)
    sites (1,1,http://www.exemple1.com,2,1,www.exem...w.exemple3.com)
    sitesavalider (1,2,http://www.exemple1.com,2,1,www.exem...w.exemple3.com)

    Quelle requête dois-je faire pour avoir le nombre de site et le nombre de sites a valider pour chaque annuaire ?

    Exemple : Idannuaire,nom,nbsites,nbsitesavalider (1,annuaire1,1,2)

    Je vous remercie pour votre aide

  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 : 72
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut la magie du DISTINCT dans les fonctions d'agrégation
    Saluton,
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT a.idannuaire,a.nom
           COUNT(DIsTINCT s.id) as sites,
           COUNt(DIsTINCT sav.id) as avalider
    FROM annuaires a
    LEFT JOiN sites s ON s.idannuaire= a.idannuaire
    left join sitesavalider sav ON sav.idannuaire= a.idannuaire
    GROUP BY a.idannuaire,a.nom
    ORDER BY a.nom
    Le ORDER BY étant facultatif.

Discussions similaires

  1. requete avec count sur 2 tables
    Par roland34 dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/03/2012, 18h34
  2. Réponses: 8
    Dernier message: 17/05/2006, 14h32
  3. Requete MySQL avec un Rand sur une table
    Par tom06440 dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/01/2006, 17h37
  4. [SQL]Requete avec 2 count(*) sur la même table
    Par Sonny dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/11/2005, 16h41
  5. Requete COUNT sur 3 tables
    Par Le-Cortex dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/09/2005, 10h39

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