sql >> Databáze >  >> RDS >> Mysql

Seskupte tak, že nepracujete s 2 poli součtu

Problém je v tom, že store s id 1 má dva odpovídající záznamy v store_sub tabulka, což znamená, že qty pole se objeví dvakrát pro obchod 1. Musíte sečíst 2 tabulky samostatně v dílčích dotazech a spojit sečtené verze dohromady:

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. Duplicitní klíč při zápisu nebo aktualizaci?

  2. Jaký je kanonický způsob, jak stáhnout záznam z databáze MySQL, který má nejmenší/největší pole?

  3. Jak exportovat výsledky dotazu pomocí MySQL Workbench

  4. Vrátit názvy sloupců Oracle ve formátu table.column?