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
la magie du DISTINCT dans les fonctions d'agrégation
Saluton,
Code:
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.