Mysql
 sql >> Database >  >> RDS >> Mysql

Somma di gruppo da due tabelle in base alla data in MySQL

Questo non ottiene date con zero, per questo avrai bisogno di una tabella delle date o di una procedura memorizzata per scorrere le date. Un modo per farlo è una sottoselezione da una query di unione (non testata):

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