-- 1.1 Was zeigt die Abfrage:
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 Wie ändert sich die Antwort, wenn der JOIN-Typ auf LEFT geändert wird?
-- 1.3 Geben Sie die Ausführungsreihenfolge der Operatoren in dieser Abfrage an.
-- 2. Die Tabelle campaigns wurde korrigiert: Duplikate entfernt, Schlüssel (PK) hinzugefügt.
-- Es wurden mehr Kampagnen durchgeführt, aufgrund von Bugs traten bei den Nutzern erfolglose Zustellversuche auf, und einige konnten überhaupt nicht angezeigt werden.
-- Beispiel 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 |
-- Beispiel 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 |
-- Über die an Nutzer gesendeten Promo-Kampagnen:
-- 2.1 Schreiben Sie eine Abfrage, die die Anzahl der Nutzer zeigt, die die Kommunikation erfolgreich erhalten haben, für jede Kampagne.
-- 2.2 Ändern Sie die Abfrage, um die Anzahl der Nutzer anzuzeigen, die keine erfolgreiche Kommunikation erhalten haben, für jede Kampagne.