Como ahora mencionó que no tiene una tabla para las fechas, puede abordarlo de esta manera si no desea agregar una tabla de calendario genérica en su base de datos.
declare @startdate datetime
declare @enddate datetime
DECLARE @startdateLoop datetime
select @startdate = CAST(start as DATE), @enddate = CAST(end_date as DATE) from #t
set @startdateLoop = @startdate
CREATE TABLE #tempCal
(dates datetime)
WHILE @startdateLoop != @enddate
BEGIN
INSERT INTO #tempCal
SELECT @startdateLoop
SET @startdateLoop = DATEADD(dd, 1, @startdateLoop)
END
SELECT * FROM #tempCal
WHERE dates between @startdate and @enddate and DAYOFWEEK(dates) = 1
Puede convertir esto en un procedimiento si lo desea.
Todavía sería bueno si TIENES una mesa de calendario; como ha sugerido Tim.