Bonjour,
Dans le but d'afficher un graphique en temps réel sur les statistiques d'envoi de sms automatisés, j'ai besoin de créer une requete qui affiche une liste de tous les magasins et les totaux des sms envoyés pour chacun d'entre eux pour aujourd'hui uniquement.
En bref:
- afficher tous les champs id de la tabler stores (dans la colonne nommée store)
- afficher le compte des sms envoyés (log_sms.id)
Attention, certains magasins n'ayant pas encore envyé de sms aujourd'hui doivent malgré tout s'afficher avec une valeur zéro.
Cette requette n'affiche pas tous les magasins:
Et malgré ma tentative avec inner join, le résultat affiché est le meme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT store, count(id) as total FROM `log_sms` WHERE date(sent_timestamp) = date(now()) AND sens = 'out' group by store;
Idem ici:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT stores.id as store, count(log_sms.id) as total FROM stores LEFT JOIN log_sms ON (log_sms.store = stores.id) where date(log_sms.sent_timestamp) = date(now()) AND log_sms.sens = 'out' AND stores.visible = 1 AND stores.enabled = 1 GROUP BY stores.id;
Et celle ci n'affiche aucun résultats:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT stores.id as store, count(log_sms.id) as total FROM stores LEFT JOIN log_sms ON (stores.id = log_sms.store) where date(log_sms.sent_timestamp) = date(now()) AND log_sms.sens = 'out' AND stores.visible = 1 AND stores.enabled = 1 GROUP BY stores.id;
Merci pour votre précieuse aide ;-)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT stores.id as store, count(log_sms.id) as total FROM stores LEFT JOIN log_sms USING (id) where date(log_sms.sent_timestamp) = date(now()) AND log_sms.sens = 'out' AND stores.visible = 1 AND stores.enabled = 1 GROUP BY stores.id;
Mat
Partager