sql >> Database >  >> RDS >> Mysql

MySQL Sum-kolom IF ID is in een andere tabelquery

Ik denk dat dit een vrij eenvoudige samenvoeging, som en groepering is op:

  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

Als je een null work_sum wilt voor taken zonder info in dat bereik:

   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

Als je 0 work_sum wilt voor taken zonder info in dat bereik:

   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



  1. SQL door komma's gescheiden rij met Group By-clausule

  2. Het verschil tussen 'AND' en '&&' in SQL

  3. T-SQL:controleren op e-mailformaat

  4. SMALLDATETIMEFROMPARTS() Voorbeelden in SQL Server (T-SQL)