Code: Select all
Campaigns
Registration_Date DATE
Campaign_ID INT
Country STRING
Advertising_Channel STRING
Registrations INT
Users
Registration_Date DATE
Registration_ID INT
Campaign_ID INT
Country STRING
Day7_Deposit_Amount INT
Day30_Deposit_Amount INT
Day60_Deposit_Amount INT
Day90_Deposit_Amount INT
Day120_Deposit_Amount INT
Day150_Deposit_Amount INT
Day180_Deposit_Amount INT
Code: Select all
Registration_Date
Registration_Country
TrafficType
Advertising_Channel
Advertising_Spend
Number_Registrations
Number_Day7_Depositors
Number_Day30_Depositors
Number_Day60_Depositors
Number_Day90_Depositors
Number_Day120_Depositors
Number_Day150_Depositors
Number_Day180_Depositors
Accum_Day7_Deposit_Amount
Accum_Day30_Deposit_Amount
Accum_Day60_Deposit_Amount
Accum_Day90_Deposit_Amount
Accum_Day120_Deposit_Amount
Accum_Day150_Deposit_Amount
Code: Select all
SELECT
users.registration_date Registration_Date,
CASE
WHEN users.country = "USA" THEN "USA"
ELSE "Rest of the World"
END Country,
CASE
WHEN users.campaign_id = 0 THEN "Organic"
ELSE "Paid"
END TrafficType,
CASE
WHEN users.campaign_id = 0 THEN "Organic"
ELSE campaigns.channel
END Advertising_Channel,
CASE
WHEN users.campaign_id = 0 THEN 0
ELSE campaigns.spend
END Advertising_Spend,
count(users.registration_id) Registrations,
SUM(IF(users.day7_deposit_amount > 0, 1,0)) Number_Day7_Depositors,
SUM(users.day7_deposit_amount) Accum_Day7_Deposit_Amount,
FROM
campaigns
RIGHT JOIN
users
ON
campaigns.campaign_id = users.campaign_id AND
campaigns.registration_date = users.registration_date AND
campaigns.country = users.country
GROUP BY
users.campaign_id,
users.registration_date,
country,
campaigns.channel,
campaigns.spend
< /code>
Hier ist das Problem. Ich bekomme die meisten Daten, aber alle Zeilen in Kampagnen