-- მარკეტოლოგები სერვისის აპლიკაციაში პრომო-კამპანიებს იწყებენ. არსებობს ორი ცხრილი:
-- campaigns – კამპანიების სია
-- - campaign – კამპანიის სახელი
-- - action_type – კამპანიის ტიპი: "push" ან "banner"
-- communications – ბექენდის ლოგი ამ კამპანიების გაგზავნის შესახებ მომხმარებლებს
-- - user_id – მომხმარებლის იდენტიფიკატორი
-- - campaign – კამპანიის სახელი
-- - status – მოვლენას სტატუსი: "success" ან "error"
---------------------------------------------------------------------------
-- 1. თავდაპირველად, 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-ზე?