Click here to Skip to main content
15,895,709 members
Home / Discussions / Database
   

Database

 
AnswerRe: Join tables from different server Pin
Covean25-Jun-10 0:55
Covean25-Jun-10 0:55 
AnswerRe: Join tables from different server Pin
CitrusTech25-Jun-10 1:02
CitrusTech25-Jun-10 1:02 
AnswerRe: Join tables from different server Pin
J4amieC25-Jun-10 1:29
J4amieC25-Jun-10 1:29 
AnswerRe: Join tables from different server Pin
Naunt25-Jun-10 3:00
Naunt25-Jun-10 3:00 
QuestionJan-December chart with specific information Pin
Dave McCool24-Jun-10 22:44
Dave McCool24-Jun-10 22:44 
AnswerRe: Jan-December chart with specific information Pin
riced25-Jun-10 1:21
riced25-Jun-10 1:21 
GeneralRe: Jan-December chart with specific information Pin
Dave McCool25-Jun-10 1:39
Dave McCool25-Jun-10 1:39 
Questionsql function to calculate work hours of an employee Pin
Thanusree Duth24-Jun-10 21:03
Thanusree Duth24-Jun-10 21:03 
Hii..
I m in a great confusion.Confused | :confused: Can u help me?I want to calculate total work hours of a day using sql function.I m having three tables.
SG_Emp_Master,SG_Daily_Register,SG_Emp_Department.Employee ID,From date,ToDate are the parameters passed..Here is my code..But i could'nt get correct output.pls help me.

CREATE FUNCTION[dbo].[FN_TIME_ATTNDNC_REPORTS] ( @EMPID varchar(50)
,@FROMDATE datetime ,@TODATE datetime )RETURNS TABLE
AS RETURN(
SELECT DR_EmployeeID as EMPID,EM_FirstName+EM_MiddleName+EM_LastName as EMPNAME,ED_Department as DEPARTMENT,
SUBSTRING(CONVERT(VARCHAR,ES_TimeIn,9),14,15)+'-'+SUBSTRING(CONVERT(VARCHAR,ES_TimeOut,9),14,15)as SHIFTTIME,
CASE WHEN ((CONVERT(VARCHAR,DR_TimeIn,101)=CONVERT(VARCHAR,DR_TimeOut,101))AND(SUBSTRING(CONVERT(VARCHAR,DR_TimeIn,9),14,15)>'11:59:59:000PM'))
THEN
ISNULL(CONVERT(VARCHAR,DR_TimeIn,107)+' 12:01:00:000AM','Not checked')
ELSE
ISNULL(CONVERT(VARCHAR,DR_TimeIn,109),'Not checked')
END
AS TIMEIN,
CASE WHEN(CONVERT(VARCHAR,DR_TimeIn,101)!=CONVERT(VARCHAR, DR_TimeOut,101))
THEN
ISNULL(CONVERT(VARCHAR,DR_TimeIn,107)+' 11:59:59:000PM','Not checked')
WHEN (CONVERT(VARCHAR,DR_TimeIn,101)=CONVERT(VARCHAR,DR_TimeOut,101))
THEN
ISNULL(CONVERT(VARCHAR,DR_TimeOut,109),'Not checked')
END
AS TIMEOUT,
CASE WHEN(CONVERT(VARCHAR, DR_TimeIn,101)=CONVERT(VARCHAR, DR_TimeOut,101))
THEN
ISNULL(CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,DR_TimeOut)/3600)
+':'+
CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,DR_TimeOut )%3600/60)
+':'+
CONVERT(VARCHAR(5),(DATEDIFF(SS,DR_TimeIn,DR_TimeOut)%60)),'0Blush | :O Blush | :O ')

WHEN(CONVERT(VARCHAR, DR_TimeIn,101)!=CONVERT(VARCHAR, DR_TimeOut,101))
THEN

ISNULL(CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,CAST(CONVERT(VARCHAR,DR_TimeIn,101)+' 11:59:59:000PM'AS DATETIME))/3600)
+':'+
CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,CAST(CONVERT(VARCHAR, DR_TimeIn,101)+' 11:59:59:000PM'AS DATETIME))%3600/60)
+':'+
CONVERT(VARCHAR(5),(DATEDIFF(SS,DR_TimeIn,CAST(CONVERT(VARCHAR, DR_TimeIn,101)+' 11:59:59:000PM'AS DATETIME))%60)),'0Blush | :O Blush | :O ')
ELSE 'NOT CHECKED'
END
AS HOURS
FROM SG_Daily_Register
INNER JOIN
SG_Emp_Shift on SG_Daily_Register.DR_ShiftID=SG_Emp_Shift.ES_ShiftID
INNER JOIN SG_Emp_Master on SG_Daily_Register.DR_EmployeeID=SG_Emp_Master.EM_EmployeeID
INNER JOIN SG_Emp_Department on SG_Emp_Master.EM_DeptID=SG_Emp_Department.ED_DeptID
WHERE DR_EmployeeID=@EMPID AND CONVERT(VARCHAR,DR_TimeIn,101)BETWEEN @FROMDATE AND @TODATE

UNION

SELECT DR_EmployeeID as EMPID,EM_FirstName+EM_MiddleName+EM_LastName as EMPNAME,ED_Department as DEPARTMENT,
SUBSTRING(CONVERT(VARCHAR,ES_TimeIn,9),14,15)+'-'+SUBSTRING(CONVERT(VARCHAR,ES_TimeOut,9),14,15)as SHIFTTIME,

CASE WHEN ((CONVERT(VARCHAR,DR_TimeIn,101)=CONVERT(VARCHAR,DR_TimeOut,101))AND(SUBSTRING(CONVERT(VARCHAR,DR_TimeIn,9),14,15)>'11:59:59:000PM'))
THEN
ISNULL(CONVERT(VARCHAR,DR_TimeIn,107)+' 12:01:00:000AM','Not checked')
ELSE
ISNULL(CONVERT(VARCHAR,DR_TimeIn,109),'Not checked')
END

AS TIMEIN,

CASE WHEN(CONVERT(VARCHAR,DR_TimeIn,101)!=CONVERT(VARCHAR, DR_TimeOut,101))
THEN
ISNULL(CONVERT(VARCHAR,DR_TimeIn,107)+' 11:59:59:000PM','Not checked')
WHEN (CONVERT(VARCHAR,DR_TimeIn,101)=CONVERT(VARCHAR,DR_TimeOut,101))
THEN
ISNULL(CONVERT(VARCHAR,DR_TimeOut,109),'Not checked')
END
AS TIMEOUT,
CASE WHEN(CONVERT(VARCHAR, DR_TimeIn,101)=CONVERT(VARCHAR, DR_TimeOut,101))
THEN
ISNULL(CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,DR_TimeOut)/3600)
+':'+
CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,DR_TimeOut )%3600/60)
+':'+
CONVERT(VARCHAR(5),(DATEDIFF(SS,DR_TimeIn,DR_TimeOut)%60)),'0Blush | :O Blush | :O ')

WHEN(CONVERT(VARCHAR, DR_TimeIn,101)!=CONVERT(VARCHAR, DR_TimeOut,101))
THEN
ISNULL(CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,CAST(CONVERT(VARCHAR,DR_TimeIn,101)+' 11:59:59:000PM'AS DATETIME))/3600)
+':'+
CONVERT(VARCHAR(5),DATEDIFF(SS,DR_TimeIn,CAST(CONVERT(VARCHAR, DR_TimeIn,101)+' 11:59:59:000PM'AS DATETIME))%3600/60)
+':'+
CONVERT(VARCHAR(5),(DATEDIFF(SS,DR_TimeIn,CAST(CONVERT(VARCHAR, DR_TimeIn,101)+' 11:59:59:000PM'AS DATETIME))%60)),'0Blush | :O Blush | :O ')
ELSE 'NOT CHECKED'

END

AS HOURS
FROM SG_Daily_Register
INNER JOIN
SG_Emp_Shift on SG_Daily_Register.DR_ShiftID=SG_Emp_Shift.ES_ShiftID
INNER JOIN SG_Emp_Master on SG_Daily_Register.DR_EmployeeID=SG_Emp_Master.EM_EmployeeID
INNER JOIN SG_Emp_Department on SG_Emp_Master.EM_DeptID=SG_Emp_Department.ED_DeptID
WHERE DR_EmployeeID=@EMPID AND CONVERT(VARCHAR,DR_TimeIn,101)BETWEEN @FROMDATE AND @TODATE
)
AnswerRe: sql function to calculate work hours of an employee Pin
thatraja24-Jun-10 23:56
professionalthatraja24-Jun-10 23:56 
QuestionQuery to get all row values as comma separated Pin
indian14324-Jun-10 9:14
indian14324-Jun-10 9:14 
AnswerRe: Query to get all row values as comma separated Pin
Mycroft Holmes24-Jun-10 11:55
professionalMycroft Holmes24-Jun-10 11:55 
QuestionHow to avoid specification of return parameters in an inline table function Pin
jophinmichael24-Jun-10 3:05
jophinmichael24-Jun-10 3:05 
QuestionLogin Fail for user 'XYZ' Pin
Sasmi_Office24-Jun-10 2:19
Sasmi_Office24-Jun-10 2:19 
QuestionRe: Login Fail for user 'XYZ' Pin
Chris Meech24-Jun-10 2:53
Chris Meech24-Jun-10 2:53 
AnswerRe: Login Fail for user 'XYZ' Pin
Sasmi_Office24-Jun-10 4:38
Sasmi_Office24-Jun-10 4:38 
GeneralRe: Login Fail for user 'XYZ' Pin
Chris Meech24-Jun-10 4:46
Chris Meech24-Jun-10 4:46 
Questionsql function to calculate work hours Pin
Athira.G.Krishnan24-Jun-10 2:11
Athira.G.Krishnan24-Jun-10 2:11 
AnswerRe: sql function to calculate work hours Pin
Scubapro24-Jun-10 4:18
Scubapro24-Jun-10 4:18 
AnswerRe: sql function to calculate work hours Pin
David Mujica24-Jun-10 6:16
David Mujica24-Jun-10 6:16 
GeneralRe: sql function to calculate work hours Pin
CitrusTech24-Jun-10 21:01
CitrusTech24-Jun-10 21:01 
QuestionGroup By 30 Minutes Pin
It_tech23-Jun-10 23:42
It_tech23-Jun-10 23:42 
AnswerRe: Group By 30 Minutes Pin
Mycroft Holmes24-Jun-10 1:04
professionalMycroft Holmes24-Jun-10 1:04 
GeneralRe: Group By 30 Minutes Pin
It_tech24-Jun-10 2:59
It_tech24-Jun-10 2:59 
AnswerRe: Group By 30 Minutes Pin
J4amieC24-Jun-10 3:31
J4amieC24-Jun-10 3:31 
GeneralRe: Group By 30 Minutes Pin
It_tech24-Jun-10 3:56
It_tech24-Jun-10 3:56 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.