weixin_42853935
weixin_42853935
2019-05-10 16:11

求助拼sql语句,考勤类相关

1000
  • sql

1.需求是想计算如下表数据,计算出每个人的有效工时,用到的字段列为:

姓名(name)、 打卡日期(attendancedate)、 打卡时间(attendancetime)、 打卡位置(attendancearea)
图片说明

2.关键点在于例如有中间出去吃饭的张三,他一天打了四次卡,06时、12时 、13时、17时,怎样做到在数据库计算中,得出有效出工时间,默认上班是没有规定时间的,只是中间出去可能吃午饭会再次刷一次出门卡和一次进门卡,怎么扣除出去的时间,计算得出有效的在公司内的有效工时,例如张三出去吃饭一小时,那这一天的有效工时是不会包含中午吃饭的一小时的,还有一种可能就是中间多刷了一次下班卡,或者多刷了一次上班卡,或者N次,但是没有一个进一个出对应起来的都算异常,怎样将这个标记为异常不计算标记查询出来的数据为 异常数据。请高手指教一下。感激不尽

3.图中例子只是参考,会有很多人很多打卡数据的,也会有很多天的,希望可以支持区间多日查询有total有效工时的计算,请给出sql语句,拼出显示数据的t-sql,可以执行并看见效果。可以用临时表计算存储过程,种类不限,可用就行,急急急
效果如图,拼当日计算语句就行了,报表这个按月列出每日的我自己做
图片说明

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

4条回答

为你推荐