Mysql
 sql >> база данни >  >> RDS >> Mysql

Групирайте, като не работите с 2 полета сума

Проблемът е, че store с id 1 има два съответстващи записа в store_sub таблица, което означава, че qty полето ще се появи два пъти за магазин 1. Трябва да сумирате 2-те таблици отделно в подзаявки и да обедините сумираните версии заедно:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ако таблица съществува, пуснете таблицата, тогава я създайте, ако не съществува, просто я създайте

  2. mysql cpp конектор хвърля UnknownException по време на свързване

  3. Анаграмист на Word с % на sql

  4. Как да получите СЛУЧАЙНИ записи от всяка категория в MySQL?

  5. Използване на SUM() без групиране на резултатите