-- 1.1 Co pokaże zapytanie:
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 Jak zmieni się odpowiedź, jeśli zmienisz typ JOIN na LEFT?
-- 1.3 Podaj kolejność wykonywania operatorów w tym zapytaniu.
-- 2. Tabela campaigns została naprawiona: usunięto duplikaty, dodano klucz (PK).
-- Przeprowadzono więcej kampanii, z powodu błędów użytkownicy zaczęli mieć nieudane próby dostarczenia komunikacji, a niektórym w ogóle się nie udało pokazać.
-- Przykład 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 |
-- Przykład 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 |
-- O kampaniach promocyjnych wysłanych do użytkowników:
-- 2.1 Napisz zapytanie, które wyświetla liczbę użytkowników, którzy pomyślnie otrzymali komunikację, dla każdej kampanii.
-- 2.2 Zmień zapytanie, aby wyświetlić: liczbę użytkowników, którzy nie otrzymali żadnej pomyślnej komunikacji, dla każdej kampanii.