日期员工出勤 [英] Datewise Employee attendance

查看:70
本文介绍了日期员工出勤的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





需要帮助来实施员工出勤表。目前正在招聘员工,即



查询





  SELECT  c .First_name + c.Middle_name + c.last_name  AS  employeename,b.Device_Person_id,a.Dept_Id,Date1,
CASE WHEN b.Device_Person_id IS NOT NULL 那么 ' < span class =code-string> P' ELSE ' A' END AS 状态

FROM Emp_setting
LEFT < span class =code-keyword> OUTER JOIN SELECT Device_Person_id,MAX(logDateTime ) AS Date1 FROM tempDeviceLogs GROUP BY Device_Person_id)b
ON a.personal_id = b.Device_Person_id
LEFT OUTER JOIN persons_profile c ON c.pesonal_id = a.personal_id



结果

 employeename Device_person_id dept_id date1 status 


MEHABOOB NULL 4 NULL A
UDAY NULL 26 NULL A
SHANKRAYYA NULL 10 NULL A
BASAVARAJ NULL 24 NULL A
BHIMAPPA 5 10 2014-05-23 14:14:00。 000 P





Employeename BHIMAPPA出席于2014-05-23。



现在我要列表2014-05-23在场的员工。



请帮助



谢谢。

解决方案

  SELECT  c.First_name + c.Middle_name + c.last_name < span class =code-keyword> AS  employees ename,
b.Device_Person_id,a.Dept_Id,Date1 as DateTimeLastSeen,
x.logDate As DatePresent,
CASE WHEN b.Device_Person_id IS NOT NULL 那么 ' P' ELSE < span class =code-string>' A' END AS status
FROM Emp_setting
LEFT OUTER JOIN SELECT Device_Person_id,MAX (logDateTime) AS D. ate1
FROM tempDeviceLogs
GROUP BY Device_Person_id)b
ON a.personal_id = b.Device_Person_id
LEFT OUTER JOIN persons_profile c
ON c.pesonal_id = a.personal_id
INNER JOIN SELECT Device_Person_id,CAST(logDateTime AS DATE as logDate
FROM tempDeviceLogs
GROUP BY Device_Person_id,CAST(logDateTime AS DATE ))x
ON x.Device_Person_id = a.personal_id
WHERE
logDate = ' 2014年5月23日;


hi,

Need help to implement employee attendance sheet.Presently am having employee attendance i.e

query


SELECT c.First_name + c.Middle_name + c.last_name AS employeename,b.Device_Person_id,a.Dept_Id,Date1, 
CASE WHEN b.Device_Person_id IS NOT NULL THEN 'P' ELSE 'A' END AS status

FROM Emp_setting a 
LEFT OUTER JOIN (SELECT Device_Person_id, MAX(logDateTime) AS Date1 FROM tempDeviceLogs GROUP BY Device_Person_id) b
ON a.personal_id = b.Device_Person_id 
LEFT OUTER JOIN persons_profile c ON c.pesonal_id=a.personal_id


Result

employeename      Device_person_id  dept_id   date1             status


MEHABOOB	         NULL	      4	        NULL	            A
UDAY	                 NULL	      26	NULL	            A
SHANKRAYYA 	         NULL	      10	NULL	            A
BASAVARAJ	         NULL	      24	NULL	            A
BHIMAPPA	          5    	      10       2014-05-23 14:14:00.000 P



Employeename BHIMAPPA is present on 2014-05-23 .

NOW I want the list of employees who is present on 2014-05-23.

please help

Thanks.

解决方案

SELECT c.First_name + c.Middle_name + c.last_name AS employeename,
      b.Device_Person_id,a.Dept_Id, Date1 as DateTimeLastSeen,
      x.logDate As DatePresent,
      CASE WHEN b.Device_Person_id IS NOT NULL THEN 'P' ELSE 'A' END AS status
FROM Emp_setting a
  LEFT OUTER JOIN (SELECT Device_Person_id, MAX(logDateTime) AS Date1
                   FROM tempDeviceLogs
                   GROUP BY Device_Person_id) b
     ON a.personal_id = b.Device_Person_id
  LEFT OUTER JOIN persons_profile c
     ON c.pesonal_id=a.personal_id
  INNER JOIN (SELECT Device_Person_id, CAST(logDateTime AS DATE) as logDate
              FROM tempDeviceLogs
              GROUP BY Device_Person_id, CAST(logDateTime AS DATE)) x
  ON x.Device_Person_id = a.personal_id
WHERE
     logDate ='2014-05-23';


这篇关于日期员工出勤的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆