-- 1.1 O que a consulta irá mostrar:
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 Como a resposta mudará se trocar o tipo de JOIN para LEFT?
-- 1.3 Indique a ordem de execução dos operadores nesta consulta.
-- 2. A tabela campaigns foi corrigida: removida a duplicação, adicionada a chave (PK).
-- Foram realizadas mais campanhas, devido a bugs, alguns usuários começaram a ter tentativas malsucedidas de entrega de comunicações, e alguns nem conseguiram mostrar.
-- Exemplo 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 |
-- Exemplo 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 |
-- Sobre as campanhas promocionais enviadas aos usuários:
-- 2.1 Escreva uma consulta que mostra a quantidade de usuários que receberam com sucesso a comunicação, para cada campanha.
-- 2.2 Modifique a consulta para mostrar: a quantidade de usuários que não receberam nenhuma comunicação bem-sucedida, para cada campanha.