Bonsoir, je viens de terminé un script pour compter le nombre de personnes dans une table.
Mon architecture est composé de deux tables:
- La première contient les questions
- La seconde les personnes ayant répondu
Je suis obligé de faire en deux requêtes le fait de compter le nombre de personnes ayant répondu a une question.
Table contests
SELECT c.* FROM mc_plugins_contests AS c
Table contest_mails
1 2 3
| SELECT count(m.idmail) as tmail
FROM mc_plugins_contests_mails AS m
WHERE m.idcontest=1 |
Ne peut on pas faire exactement la même chose en une seule requête ?
J'avais tenté une jointure mais cela ne retourne qu'un seul enregistrement.
J'avais tenté :
1 2 3 4
| SELECT c.idcontest,c.date_start,c.date_end,count(m.idmail) as tmail
FROM mc_plugins_contests AS c
LEFT JOIN mc_plugins_contests_mails as m USING(idcontest)
ORDER BY date_start DESC |
Le résultat attendu :
Question 1 contient 10 personnes
Question 2 contient 3 personnes
Sa limiterai les accès a la base de données
Partager