-- # -- Rinkodaros specialistai pradeda reklamos kampanijas programėlėje. Yra dvi lentelės:
-- # -- campaigns - kampanijų sąrašas
-- # -- - campaign - kampanijos pavadinimas
-- # -- - action_type - kampanijos tipas: "push" arba "banner"
-- # -- communications - backend žurnalas su šių kampanijų siuntimo komunikacijomis vartotojams
-- # -- - user_id - vartotojo identifikatorius
-- # -- - campaign - kampanijos pavadinimas
-- # -- - status - įvykio būsena: "success" arba "error"
-- ------------------------------------------------------------------------------------------------------------------------
-- # -- 1. Iš pradžių, campaigns lentelėje yra 4 eilutės:
-- # -- | campaign | action_type |
-- # -- |-------------|-------------|
-- # -- | promo_dogs | push |
-- # -- | promo_cats | banner | <- atsitiktinai dubliuota
-- # -- | promo_cats | banner | <- dvi eilutės
-- # -- | promo_rats | push |
# # -- Be to, žinoma, kad:
-- # -- kampanijos promo_dogs ir promo_cats buvo sėkmingai įvykdytos 100 naudotojų, ir kiekvienas naudotojas gavo vieną komunikaciją,
-- # -- o promo_rats tik planuojama.
-- # -- 1.1 Ką parodys užklausa:
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
-- # -- 1.2 Kaip pasikeis atsakymas, jei pakeisime JOIN tipą į LEFT?
-- # -- 1.3 Nurodykite šios užklausos vykdymo tvarką.
-- Atsakymas:
promo_dogs ... ...