Hi zusammen,
ich hab einen relativ komplexen SQL-query der für eine Liste von Projekten den monatlichen "Verdienst" anteilig an den Projektstunden eine Users errechnet.
Dieser funktioniert soweit auch richtig:
PHP-Code:
SELECT
ROUND(((sum(stunden.stunden))*(ROUND(((ROUND((projekte.hmax * projekte.hsatz),2))/((SELECT sum(stunden) FROM stunden WHERE projekt_id=projekte.ID))),2) )),2) as peuro_h_u
FROM stunden
LEFT JOIN projekte ON stunden.projekt_id = projekte.ID
WHERE stunden.user_id = 27 AND (stunden.datum between '2018-01-01' AND '2018-01-31')
GROUP BY stunden.projekt_id
In der Ergebnistabelle werden untereinander alle Beträge ausgegeben.
Nun möchte ich aber nicht die Einzelbeträge haben sondern die Summe, also die Summe aus "peuro_h_u".
Mein erster Versuch war:
PHP-Code:
SELECT [B]SUM([/B]
ROUND(((sum(stunden.stunden))*(ROUND(((ROUND((projekte.hmax * projekte.hsatz),2))/((SELECT sum(stunden) FROM stunden WHERE projekt_id=projekte.ID))),2) )),2) as peuro_h_u
[B]) as summe[/B]
FROM stunden
LEFT JOIN projekte ON stunden.projekt_id = projekte.ID
WHERE stunden.user_id = 27 AND (stunden.datum between '2018-01-01' AND '2018-01-31')
GROUP BY stunden.projekt_id
das hat aber leider nicht funktioniert (die Meldung "invalid use of group function" kommt).
Klar, das Group by beißt sich mi dem SUM.
Aber wie genau macht man dann sowas?
Ich hab auch probiert, einen neuen Query um den oberen zu schnüren, also
PHP-Code:
SELECT SUM(alter query) as Summe
Aber auch das geht nicht.
Bin für jeden Tipp dankbar.
Viele Grüße
Daniel