Seite 1 von 1

Zusammenfassung von Datensätzen mit zeitlicher Überschneidung

Verfasst: Mi 17. Mär 2021, 13:38
von JuRo
Hallo ihr Lieben,
ich brauche mal wieder eure Hilfe.

Ich habe zwei Tabellen. In der ersten sind Stunden aufgelistet, in der zweiten die dazugehörigen Rechnungen. Daraus möchte ich den Stundensatz errechnen lassen. Soweit ganz einfach.
Das Problem ist, dass die Rechnungen, anders als die Stunden, nicht pro Kalenderwoche gestaffelt sind. So gibt es z.B. eine Rechnung, die von KW 4-5 geht und eine, die sich nur auf KW 5 bezieht. Jetzt müssten also die Beträge und die Stunden aus beiden Rechnungen bzw. KWs addiert werden, um dann den entsprechenden Stundensatz zu ermitteln. Für KW 6 gibt es aber nur eine Rechnung, da muss also nichts addiert werden. Dann gibt es wieder zwei Rechnungen, diesmal ist aber das Startdatum identisch und das Enddatum unterscheidet sich. Dennoch müssen auch diese beiden Rechnungen und die dazugehörigen Stunden addiert werden.

Ich bin da gerade ziemlich planlos.
Beispieldatenbank hänge ich mal an.

Re: Zusammenfassung von Datensätzen mit zeitlicher Überschneidung

Verfasst: Sa 20. Mär 2021, 09:39
von F3K Total
Moin,
aus meiner Sicht der falsche Ansatz, es muss eine Verbindung von der Rechnungsnummer zu den dazu geleisteten Stunden geben, dann ist es ganz leicht, siehe Beispiel anbei.

Gruß R
EDIT:
wenn du zu angehängtem Beispiel nur eine, statt wie im Beispiel, zwei Abfragen verwenden möchtest, diese funktioniert:

Code: Alles auswählen

SELECT
    "Re-Nr.",
    "VON",
    "BIS",
    "Datum",
    "Betrag",
    "SUMME_STUNDEN",
    "Betrag" / "SUMME_STUNDEN" AS "STUNDENSATZ"
FROM "Rechnungen"
LEFT JOIN 
    (SELECT 
        "FK_ID_R",
        MIN( "Datum" ) "VON",
        MAX( "Datum" ) "BIS",
        SUM( "Stunden" ) "SUMME_STUNDEN"
    FROM "Stunden"
    GROUP BY "FK_ID_R")
ON "Re-Nr." = "FK_ID_R"