... setup and query code removed -- Open our cursor and determine how many rows are in it set @Ctr=0 Open ScheduledCases set @Records=@@cursor_rows -- Loop Through the Cursor while (@ctr <= @Records) BEGIN fetch ScheduledCases into @c_CaseDate,@c_PrimarySurgeon,@c_ProceduresOnCase,@i_ProcedureCount,@c_RoomName, @c_EnterOR,@c_ProcStart,@c_ProcEnd,@c_ExitOR,@c_ScheduledStart,@b_isCancelled,@t_CancelledDate,@i_RoomMinutes, @i_ProcMinutes,@i_deptID,@t_BeginTime,@t_EnterOR,@t_ProcStart -- Increment the counter SET @Ctr = @Ctr+1 -- Determine if the room name has changed IF (@c_RoomName<>@LastRoomName) BEGIN set @bFlag=1 -- Get the minutes from Scheduled Start to Enter OR -- Modified to procedure Start -- set @CaseOffSet=datediff(mi,@t_BeginTime,@t_EnterOR) set @CaseOffSet=DateDiff(mi,@t_BeginTime,@t_ProcStart) END ELSE BEGIN SET @bFlag=0 set @CaseOffSet=0 END -- Set our RoomVariable to Last Record Value set @LastRoomName=@c_RoomName -- Insert the Record into the outputtable Insert into #OutPutTable (CaseDate,PrimarySurgeon,ProceduresOnCase,ProcedureCount,RoomName,EnterOR, ProcStart,ProcEnd,ExitOR,ScheduledStart,isCancelled,CancelledDate,RoomMinutes,ProcMinutes,deptID, FirstCaseFlag,CaseOffSet) values (@c_CaseDate,@c_PrimarySurgeon,@c_ProceduresOnCase, @i_ProcedureCount,@c_RoomName,@c_EnterOR,@c_ProcStart,@c_ProcEnd,@c_ExitOR, @c_ScheduledStart,@b_isCancelled,@t_CancelledDate,@i_RoomMinutes, @i_ProcMinutes,@i_deptID,@bFlag,@CaseOffSet) END close ScheduledCases Deallocate ScheduledCases select * from #OutPutTable drop table #OutPutTable