我有一个任务表,其中有特定日期的记录。我想让一个月内的所有日期显示每个日期的任务数。如果在某个日期没有任务记录,则应写为 0。
当某一天有任务时,我有从同一日期复制记录的结果。
桌子:
Date Tasks
2021-08-01 0
2021-08-02 0
2021-08-03 0
2021-08-03 25
2021-08-04 0
2021-08-04 18
2021-08-05 0
2021-08-05 31
2021-08-06 0
我正在使用的 SQL 代码:
Declare @year int = 2021, @month int = 8;
WITH numbers
as
(
Select 1 as value
UNion ALL
Select value +1 from numbers
where value + 1 <= Day(EOMONTH(datefromparts(@year, @month, 1)))
)
SELECT datefromparts(@year, @month, numbers.value) AS 'Datum', 0 AS 'Tasks' FROM numbers
UNION
SELECT CONVERT(date, added_d) AS 'Datum', COUNT(*) AS 'Tasks' FROM Crm.Task
WHERE YEAR(added_d) = '2021' AND MONTH(added_d) = '8' GROUP BY CONVERT(date, added_d)
我如何删除重复的我只有一个日期记录 21-08-03 和 25 个任务?
谢谢您的帮助