Cela n'obtient pas de dates avec des zéros, pour cela vous aurez besoin d'une table de dates ou d'une procédure stockée pour parcourir les dates. Une façon de procéder consiste à effectuer une sous-sélection à partir d'une requête d'union (non testée) :
SELECT commission_date, SUM(click_commission), SUM(lead_commission), SUM(total_commission)
FROM (SELECT DATE(click.time) AS commission_date, click.commission AS click_commission,
0 AS lead_commission, click.commission AS total_commission
FROM click
UNION ALL
SELECT DATE(lead.time) AS commission_date, 0 AS click_commission,
lead.commission AS lead_commission, lead.commission AS total_commission
FROM lead) AS foo
GROUP BY commission_date
ORDER BY commission_date