Karena Anda sekarang menyebutkan bahwa Anda tidak memiliki tabel untuk tanggal, Anda dapat mendekatinya seperti ini jika Anda tidak ingin menambahkan tabel kalender umum pada database Anda.
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
Anda dapat mengubahnya menjadi prosedur jika Anda mau.
Akan tetap menyenangkan jika Anda MEMILIKI meja kalender; seperti yang disarankan Tim.