1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
DECLARE @TableCoureur TABLE(
SomeId BIGINT IDENTITY(1,1) PRIMARY KEY NOT NULL,
CoureurId SMALLINT NOT NULL,
RunDate DATETIME NOT NULL,
Distance BIGINT NOT NULL
)
INSERT INTO @TableCoureur(CoureurId, RunDate, Distance) VALUES (1,'01/03/2020 14:30:00', 10)
INSERT INTO @TableCoureur(CoureurId, RunDate, Distance) VALUES (1,'01/03/2020 15:30:00', 10)
INSERT INTO @TableCoureur(CoureurId, RunDate, Distance) VALUES (1,'02/03/2020 14:30:00', 10)
INSERT INTO @TableCoureur(CoureurId, RunDate, Distance) VALUES (1,'03/03/2020 14:30:00', 10)
INSERT INTO @TableCoureur(CoureurId, RunDate, Distance) VALUES (1,'03/03/2020 07:30:00', 10)
INSERT INTO @TableCoureur(CoureurId, RunDate, Distance) VALUES (1,'05/03/2020 14:30:00', 10)
INSERT INTO @TableCoureur(CoureurId, RunDate, Distance) VALUES (1,'06/03/2020 14:30:00', 10)
INSERT INTO @TableCoureur(CoureurId, RunDate, Distance) VALUES (1,'07/03/2020 14:30:00', 10)
INSERT INTO @TableCoureur(CoureurId, RunDate, Distance) VALUES (2,'01/03/2020 14:30:00', 10)
INSERT INTO @TableCoureur(CoureurId, RunDate, Distance) VALUES (2,'03/03/2020 14:30:00', 10)
INSERT INTO @TableCoureur(CoureurId, RunDate, Distance) VALUES (2,'04/03/2020 14:30:00', 10)
INSERT INTO @TableCoureur(CoureurId, RunDate, Distance) VALUES (2,'05/03/2020 14:30:00', 10)
INSERT INTO @TableCoureur(CoureurId, RunDate, Distance) VALUES (2,'07/03/2020 14:30:00', 10)
DECLARE @StartDate DATETIME
DECLARE @EndDate DATETIME
SET @StartDate = '01/03/2020'
SET @EndDate = '10/03/2020'
;WITH CTE_DATE AS (
SELECT CAST(@StartDate AS DATE) [zeDay]
UNION ALL
SELECT DATEADD(DAY, 1, [zeDay]) FROM CTE_DATE
WHERE [zeDay] < @EndDate
)
SELECT C.zeDay, SUM(TC.Distance)
FROM CTE_DATE C
LEFT JOIN @TableCoureur TC ON C.zeDay = CAST(TC.RunDate AS DATE)
GROUP BY C.zeDay |
Partager