Assuming that the name of your table is
empdata
.
Declare Cursor_EmpIds CURSOR LOCAL FORWARD_ONLY FOR Select distinct empid from empdata;
Declare @CurrentEmpId varchar(80);
Declare @LoopController bit = 0;
Declare @CompareDate date;
Declare @TemporaryTable TABLE (empid varchar(80),DateValue date);
OPEN Cursor_EmpIds;
FETCH NEXT FROM Cursor_EmpIds into @CurrentEmpId;
While @@FETCH_STATUS=0
BEGIN
SET @LoopController=0;
SET @CompareDate=CAST('2013-05-01' as date);
WHILE @LoopController=0
BEGIN
IF (SELECT COUNT(*) from empdata where empid=@CurrentEmpId AND DateValue=@CompareDate)=0
BEGIN
INSERT INTO @TemporaryTable VALUES (@CurrentEmpId,@CompareDate);
END
Set @CompareDate=DATEADD(day,1,@CompareDate);
If @CompareDate=CAST('2013-05-11' as date)
BEGIN
SET @LoopController=1;
END
END
FETCH NEXT FROM Cursor_EmpIds into @CurrentEmpId;
END
Close Cursor_EmpIds;
SELECT empid,datevalue from EmpData UNION SELECT empid,datevalue from @TemporaryTable order by empid,datevalue;
Tested on Microsoft SQL Server Express 2012