i think what you need is thisDECLARE @StartDate datetime, @EndDate datetimeSELECT @StartDate='2009-03-09',@EndDate='2009-03-17';With Date_CTE (Date,Day)AS(SELECT @StartDate,DATENAME(dw,@StartDate) UNION ALL SELECT DATEADD(dd,1, Date),DATENAME(dw,DATEADD(dd,1, Date)) FROM Date_CTE WHERE DATEADD(dd,1, Date)<=@EndDate)INSERT INTO uMedical_AppointmentsSELECT ch.Consultant,c.Date,ch.TimeStart,ch.TimeFinish,ch.Patient,ch.Other,ch.AvailableFROM Date_CTE cINNER JOIN uMedical_ConsultantHours chON ch.Day=c.Day