Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Der 07.01.2016 steckt in diesen Zeiträumen
Hi und danke nochmal
Beispiel 07.01.2016 bei mir kommt 4 raus
Bei dir 2016-01-07 00:00:00.000 5
Beispiel 31.01.2016 bei mir kommt 0 raus
Bei dir 2016-01-31 00:00:00.000 3
WITH tabelle(ID,Datestart,Dateend,[Type]) AS (
SELECT 1,cast('2016-01-01' AS DATE),cast('2016-01-07' AS DATE),'BNDL' UNION ALL
SELECT 2,'2016-01-01','2016-12-31','BNDL' UNION ALL
SELECT 3,'2016-01-04','2016-01-21','BNDL' UNION ALL
SELECT 4,'2016-01-05','2016-01-10','BNDL' UNION ALL
SELECT 5,'2016-01-05','2016-01-13','BNDL' UNION ALL
SELECT 6,'2016-01-10','2016-12-31','BNDL' UNION ALL
SELECT 7,'2016-01-10','2016-01-15','BNDL' UNION ALL
SELECT 8,'2016-01-28','2016-12-31','BNDL'
), liste(ID,Datestart,Dateend) AS (
SELECT t.ID,
t.Datestart,
t.Dateend
FROM tabelle t
UNION ALL
SELECT liste.ID,
dateadd(day,1,liste.Datestart),
liste.Dateend
FROM liste
WHERE dateadd(day,1,liste.Datestart) < liste.Dateend
), basisliste(Datum) AS (
SELECT dateadd(yyyy,datediff(yyyy,0,getdate()),0)
UNION ALL
SELECT dateadd(day,1,basisliste.Datum)
FROM basisliste
WHERE datepart(yyyy,dateadd(day,1,basisliste.Datum)) = datepart(yyyy,getdate())
)
SELECT b.Datum,
sum(CASE WHEN l.Datestart IS NULL THEN 0 ELSE 1 END) AS Saldo
FROM basisliste b
LEFT JOIN liste l
ON b.Datum = l.Datestart
WHERE datepart(mm,b.Datum) = 1
GROUP BY b.Datum
OPTION (MAXRECURSION 1000);
Das wären dann 4 am 07.01.2016 und immernoch 3 am 31.01.2016 wobei du jetzt vom 31.12. sprichst, da sind es natürlich 0 Datensätze.Datum Saldo
----------------------- -----------
2016-01-01 00:00:00.000 2
2016-01-02 00:00:00.000 2
2016-01-03 00:00:00.000 2
2016-01-04 00:00:00.000 3
2016-01-05 00:00:00.000 5
2016-01-06 00:00:00.000 5
2016-01-07 00:00:00.000 4
2016-01-08 00:00:00.000 4
2016-01-09 00:00:00.000 4
2016-01-10 00:00:00.000 5
2016-01-11 00:00:00.000 5
2016-01-12 00:00:00.000 5
2016-01-13 00:00:00.000 4
2016-01-14 00:00:00.000 4
2016-01-15 00:00:00.000 3
2016-01-16 00:00:00.000 3
2016-01-17 00:00:00.000 3
2016-01-18 00:00:00.000 3
2016-01-19 00:00:00.000 3
2016-01-20 00:00:00.000 3
2016-01-21 00:00:00.000 2
2016-01-22 00:00:00.000 2
2016-01-23 00:00:00.000 2
2016-01-24 00:00:00.000 2
2016-01-25 00:00:00.000 2
2016-01-26 00:00:00.000 2
2016-01-27 00:00:00.000 2
2016-01-28 00:00:00.000 3
2016-01-29 00:00:00.000 3
2016-01-30 00:00:00.000 3
2016-01-31 00:00:00.000 3
(31 Zeile(n) betroffen)