Hallo marabu,
du hast recht, die Summen stimmen nicht.
Für jeden Datensatz in der Nachkalkulation wird der Wert in der Vorkalkulation multipliziert.
Ich habe mal ein Bild erstellt indem die Tabellen mit Datensätzen zu sehen sind. Über den einzelnen Tabellen habe ich mal eine Erklärung geschrieben.
Hier nochmal meine
SQL-Abfrage die zum Bild paßt:
select n.gruppe, sum(v.std) as sollstd, sum(v.kosten) as soll, sum(n.std) as std, sum(n.betrag) as ist, (sum(v.kosten) - sum(n.betrag)) as rest, (sum(n.betrag) / (sum(v.kosten+0.0001)*100)) as prozent
from vorkal v
inner join nachkalkulation n on v.gruppe = n.gruppe
where (v.vorkal_id = :id) and (n.vorkal_id = :id)
group by n.gruppe
order by n.gruppe
Nun die Frage wie kann ich das lösen?
Gruß Peter