-- 1.1 Wat toont de query:
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 Hoe verandert het antwoord als je het type JOIN wijzigt naar LEFT?
-- 1.3 Geef de volgorde van uitvoering van de operators in deze query.
-- 2. De tabel campaigns is gecorrigeerd: duplicaten verwijderd, sleutel (PK) toegevoegd.
-- Meer campagnes zijn uitgevoerd, door bugs begonnen gebruikers mislukte pogingen tot communicatie te krijgen, en sommigen konden helemaal niet worden weergegeven.
-- Voorbeeld 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 |
-- Voorbeeld 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 |
-- Over de promotiecampagnes die naar gebruikers zijn gestuurd:
-- 2.1 Schrijf een query die het aantal gebruikers toont dat succesvol communicatie heeft ontvangen, voor elke campagne.
-- 2.2 Pas de query aan om te tonen: het aantal gebruikers dat geen enkele succesvolle communicatie heeft ontvangen, voor elke campagne.