DECLARE @EMPAttendence TABLE
(employeeid INT,
fullname VARCHAR(275),
checktime DATETIME,
actiontype CHAR(5)
)
INSERT @EMPAttendence
SELECT EA.employeeid,TU.fullname,EA.checktime,EA.actiontype FROM Employee_Attendance EA
JOIN TM_User TU ON employeeid=TM_UserID
WHERE EA.employeeid=88 AND CONVERT(VARCHAR(4),DATEPART(YEAR, checktime)) + '/'+ CONVERT(VARCHAR(2),DATEPART(MONTH, checktime)) + '/' + CONVERT(VARCHAR(2),DATEPART(DAY, checktime))=CONVERT(VARCHAR(4),DATEPART(YEAR, '2014-02-27')) + '/'+ CONVERT(VARCHAR(2),DATEPART(MONTH, '2014-02-27')) + '/' + CONVERT(VARCHAR(2),DATEPART(DAY, '2014-02-27'))
SELECT employeeid,fullname,checktime,actiontype,Rn = ROW_NUMBER() OVER (ORDER BY employeeid) INTO #IN FROM @EMPAttendence WHERE actiontype = 'i'
SELECT employeeid,fullname,checktime,actiontype ,Rn = ROW_NUMBER() OVER (ORDER BY employeeid) INTO #Out FROM @EMPAttendence WHERE actiontype = 'o'
DECLARE @Min INT
SET @Min = (SELECT Sum(DATEDIFF(MINUTE,TE1.checktime,TE2.checktime)) AS MINUTE FROM #IN AS TE1
INNER JOIN #Out AS TE2
ON TE1.rn = TE2.rn)
SELECT DISTINCT EA.employeeid,TU.fullname,(SELECT CAST( @Min/60 AS VARCHAR(5))+ ' Hrs' + ':'+ RIGHT('0' + CAST( @Min%60 AS VARCHAR(2)), 2)+' Min' AS 'WorkingTime') WorkedHours
FROM Employee_Attendance EA JOIN TM_User TU ON employeeid=TM_UserID WHERE EA.employeeid=88 AND CONVERT(VARCHAR(4),DATEPART(YEAR, checktime)) + '/'+ CONVERT(VARCHAR(2),DATEPART(MONTH, checktime)) + '/' + CONVERT(VARCHAR(2),DATEPART(DAY, checktime))=CONVERT(VARCHAR(4),DATEPART(YEAR, '2014-02-27')) + '/'+ CONVERT(VARCHAR(2),DATEPART(MONTH, '2014-02-27')) + '/' + CONVERT(VARCHAR(2),DATEPART(DAY, '2014-02-27'))
Drop Table #IN
Drop Table #Out