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

La colonna MySQL Sum IF ID si trova in un'altra query di tabella

Penso che questo sia un join abbastanza semplice, somma e raggruppa per:

  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 vuoi un work_sum nullo per le attività senza informazioni in quell'intervallo:

   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 vuoi 0 work_sum per le attività senza informazioni in quell'intervallo:

   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