Hallo,
ich bräuchte mal eure Hilfe bei einer Datenbankabfrage.
Ich möchte für jedes Projekt die Summe der Arbeitszeiten vom Vormonat und vom aktuellen Monat ermitteln.
Wenn ich die Daten einzeln auslese (also z. B. nur vom aktuellen Monat), funktioniert das so, wie es soll.
Aber mit zwei Left Join's werden die Werte irgendwie öfters summiert.
Muss ich das in zwei Abfragen auslagern, oder hat jemand einen Tipp für mich?
Vielen Dank im Voraus.
ich bräuchte mal eure Hilfe bei einer Datenbankabfrage.
Code:
SELECT project_list.project_id, SUM(shiftplan_workingtime_current.shiftplan_workingtime_hour) AS `shiftplan_workingtime_hour_current`, SUM(shiftplan_workingtime_previous_month.shiftplan_workingtime_hour) AS `shiftplan_workingtime_hour_previous_month` FROM project_list LEFT JOIN shiftplan_workingtime AS `shiftplan_workingtime_current` ON shiftplan_workingtime_current.project_id = project_list.project_id AND shiftplan_workingtime_current.shiftplan_workingtime_date BETWEEN '2017-08-01' AND '2017-08-31' LEFT JOIN shiftplan_workingtime AS `shiftplan_workingtime_previous_month` ON shiftplan_workingtime_previous_month.project_id = project_list.project_id AND shiftplan_workingtime_previous_month.shiftplan_workingtime_date BETWEEN '2017-07-01' AND '2017-07-31' GROUP BY project_list.project_id ORDER BY shiftplan_workingtime_hour_current, project_list.project_name ASC
Wenn ich die Daten einzeln auslese (also z. B. nur vom aktuellen Monat), funktioniert das so, wie es soll.
Aber mit zwei Left Join's werden die Werte irgendwie öfters summiert.
Muss ich das in zwei Abfragen auslagern, oder hat jemand einen Tipp für mich?
Vielen Dank im Voraus.
Kommentar