Hallo,
ich habe ein Problem mit einer Abfrage und würde mich freuen, wenn mir jemand einen Tipp geben könnte, wie man das lösen kann.
Ich habe 2 Tabellen: eine mit der Anwesenheit eines Users und eine 2. mit den Abwesenheiten, jeweils als DATETIME gespeichert
Das sieht dann so aus:
Nun möchte ich die Anzahl der Tage, die der User anwesend war für einen bestimmten Monat (zb: Januar 2021)
Ich habe jetzt erstmal sowas probiert, weiß aber noch nicht wie ich da die Unterbrechung integriere und ob Datapart überhaupt das richtige ist.
ich habe ein Problem mit einer Abfrage und würde mich freuen, wenn mir jemand einen Tipp geben könnte, wie man das lösen kann.
Ich habe 2 Tabellen: eine mit der Anwesenheit eines Users und eine 2. mit den Abwesenheiten, jeweils als DATETIME gespeichert
Das sieht dann so aus:
Code:
Betreuungszeit
UserID Von Bis
1 2018-12-17 00:00:00.000 2021-01-09 00:00:00.000
1 2021-01-12 00:00:00.000 9998-12-31 00:00:00.000
Unterbrechung
UserID Von Bis
1 2021-01-05 00:00:00.000 2021-01-06 00:00:00.000
1 2021-01-14 00:00:00.000 2021-01-18 00:00:00.000
Nun möchte ich die Anzahl der Tage, die der User anwesend war für einen bestimmten Monat (zb: Januar 2021)
Ich habe jetzt erstmal sowas probiert, weiß aber noch nicht wie ich da die Unterbrechung integriere und ob Datapart überhaupt das richtige ist.
Code:
SELECT DATEDIFF(day, Von, Bis)
FROM [Betreuungszeit]
WHERE ( (DATEPART(yy, Von) < 2021 OR ( DATEPART(mm, Von) <= 1 AND DATEPART(yy, Von) = 2021))
AND (DATEPART(yy, Bis) > 2021 OR ( DATEPART(mm, Bis) >= 1 AND DATEPART(yy, Bis) = 2021))