sql >> Base de Datos >  >> RDS >> Mysql

Agrupar por no trabajar con suma de 2 campos

El problema es que store con id 1 tiene dos registros correspondientes en store_sub tabla, lo que significa que qty El campo aparecerá dos veces para la tienda 1. Debe sumar las 2 tablas por separado en subconsultas y unir las versiones sumadas:

select t1.department, t1.sqty, t2.ssubqty
from
  (select department, sum(qty) as sqty from store group by department) t1
left join
  (select s2.department, s1.sum(sub_qty) as ssubqty
   from store_sub s1
   inner join store s2 on s1.parent_id=s2.id
   group by s2.department) t2 on t1.department=t2.department