Vermutlich hab ich einen Denkfehler, aber macht der Join von Redeemer die Sache nicht eher schlimmer, so dass auch die Summen nicht mehr stimmen? Wenn eine Gruppe 2 Positionen hat, werden die über kreuz gejoined und ich bekomme 4 Datensätze und dann werden die gruppiert?
Das gejointe müsste mMn zuvor in einem Supselect gruppiert werden.
Kann Firebird "with"?
SQL-Code:
with Basis as (
select
substring(ArtikelNr from 1 for 5) as "Gruppe",
ArtikelNr,
max(Beschreibung) as Beschreibung, max(Farbe) as Farbe,
sum(Menge) as Menge, sum(NettoSumme) as NettoSumme
from VorgangPos vp
group by ArtikelNr
order by ArtikelNr
)
Select B.*,
(Select sum(Menge) From Basis Where Gruppe=B.Gruppe) as Gruppenmenge
From Basis B