Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

A coluna de soma do MySQL IF ID está em outra consulta de tabela


Eu acho que isso é uma junção bastante simples, soma e grupo por:
  SELECT t.r_id, SUM(t.work) work_sum
    FROM tasks t
    JOIN info i
      ON i.id = t.r_id
     AND i.date BETWEEN xxx AND yyy
GROUP BY t.r_id

Se você quiser um work_sum nulo para tarefas sem informações nesse intervalo:
   SELECT t.r_id, SUM(t.work) work_sum
     FROM tasks t
LEFT JOIN info i
       ON i.id = t.r_id
      AND i.date BETWEEN xxx AND yyy
 GROUP BY t.r_id

Se você quiser 0 work_sum para tarefas sem informações nesse intervalo:
   SELECT t.r_id, COALESCE(SUM(t.work),0) work_sum
     FROM tasks t
LEFT JOIN info i
       ON i.id = t.r_id
      AND i.date BETWEEN xxx AND yyy
 GROUP BY t.r_id