-- Маркетолозите стартират промоционални кампании в приложението на услугата. Има две таблици:
-- campaigns – списък с кампании
-- - campaign – името на кампанията
-- - action_type – тип на кампанията: "push" или "banner"
-- communications – лог на бекенда с изпращанията на комуникации на тези кампании към потребителите
-- - user_id – идентификатор на потребителя
-- - campaign – името на кампанията
-- - status – статус на събитието: "success" или "error"
---------------------------------------------------------------------------
-- 1. П initially, в таблицата campaigns има 4 реда:
-- | campaign | action_type |
-- |-------------|-------------|
-- | promo_dogs | push | <- случайно дублирано
-- | promo_cats | banner |
-- | promo_cats | banner | <- два реда
-- | promo_rats | push |
-- Освен това е известно, че:
-- кампаниите promo_dogs и promo_cats са успешно проведени при 100 потребители и всеки потребител е получил по една комуникация,
-- а promo_rats е в процес на планиране.
-- 1.1 Какво ще покаже заявката:
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 Как ще се промени отговорът, ако типът JOIN се промени на LEFT?