Ilja: (MySQL) Zwei Summen in einer Abfrage bilden möglich?

Beitrag lesen

moin,

select sum(t1.menge) as summe_zu,t2.summe_ab,t1.stelle from meine_tabelle as t1 left join (select sum(menge) as summe_ab,stelle from meine_tabelle where idnr='1' AND art = 'AB' group by stelle) as t2 on t1.stelle=t2.stelle where t1.idnr='1' AND art='ZU' group by t1.stelle

vergiss diese abfage, sie ist falsch, auch wenn die richtigen ergebnisse rauskommen sollten.

das einfachste wäre, dass du nicht nur nach der Stelle gruppierst, sondern auch nach der art.

select sum(menge) Summe, stelle, art
from meine_tabelle
where art IN ('A', 'B'
group by stelle, art
;

willst du unbebedingt die summen von A und B in einer Zeile, gibt es mehrere möglichkeiten, entweder innerhalb einer gruppierung mit CASE arbeiten oder aber mit einer korrelierten Unterabfrage.

Ilja