-- 1.1 Que va à afficher la requête:
SELECT campaign, COUNT(*) as rows, COUNT(DISTINCT co.user_id) AS users
FROM campaigns AS ca
INNER JOIN communications AS co
ON ca.campaign = co.campaign
GROUP BY ca.campaign AS campaign
-- 1.2 Comment la réponse changera-t-elle si on change le type de JOIN en LEFT?
-- 1.3 Indiquez l'ordre d'exécution des opérateurs dans cette requête.
-- 2. La table campaigns a été corrigée : suppression des doublons, ajout d'une clé (PK).
-- Plus de campagnes ont été menées, en raison de bugs, certains utilisateurs ont commencé à avoir des tentatives de livraison de communications infructueuses, et certains n'ont pas pu du tout être affichés.
-- Exemple 1 : communications
-- | user_id | campaign | status |
-- | 1000001 | promo_cats | error |
-- | 1000001 | promo_cats | error |
-- | 1000001 | promo_cats | success|
-- | 1000001 | promo_cats | success|
-- | 1000001 | promo_cats | error |
-- Exemple 2 : communications
-- | user_id | campaign | status |
-- | 1000002 | promo_rats | error |
-- | 1000002 | promo_rats | error |
-- | 1000002 | promo_rats | error |
-- | 1000002 | promo_rats | error |
-- | 1000002 | promo_rats | error |
-- Sur les campagnes promotionnelles envoyées aux utilisateurs :
-- 2.1 Écrivez une requête qui affiche le nombre d'utilisateurs ayant reçu avec succès la communication, pour chaque campagne.
-- 2.2 Modifiez la requête pour afficher : le nombre d'utilisateurs n'ayant reçu aucune communication réussie, pour chaque campagne.