Dit krijgt geen datums met nullen, daarvoor heb je een datumtabel of een opgeslagen procedure nodig om door de datums te bladeren. Een manier om dit te doen is een subselectie uit een samenvoegquery (niet getest):
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