-- 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?
-- 1.3 Посочете реда на изпълнение на операторите в тази заявка.
-- 2. Таблицата campaigns беше коригирана: премахнати са дублиранията, добавен е ключ (PK).
-- Проведени са повече кампании, поради грешки, потребителите започнаха да получават неуспешни опити за доставка на комуникации, а някои изобщо не успяха да бъдат показани.
-- Пример 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 |
-- Пример 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 |
-- За изпратените промо кампании към потребителите:
-- 2.1 Напишете заявка, която показва броя на потребителите, които успешно са получили комуникация, за всяка кампания.
-- 2.2 Променете заявката, за да показва: броя на потребителите, които не са получили нито една успешна комуникация, за всяка кампания.