求考勤表的数据库设计思路,要求方便统计出勤天数。我用的是SQL

RT 在做考勤系统,考勤表还建不出来,各种纠结
目前是这种设计,月记录
num ,d01,d02,...,d31
工号,标记,标记....标记
但这样统计天数貌似麻烦,不能用count(num)算,求大神~!~~~~

第1个回答  推荐于2017-11-25
如果你这个是最简单的考勤记录,不涉及到三班倒和加班之类的,那么一个最简单的表是这样
员工表(不用说了吧,基本信息)
记录表(日期、员工号、开始时间、结束时间、出勤情况)
如果自动打卡机,获取的就是工号、日期、时间。你通过程序判断每个人当天最小和最大时间,写到记录表里面
如果当天开始时间和结束时间都有,而且你还能根据时间段判断迟到、早退什么的,然后在出勤情况中写上相应信息
后面想怎么统计都用这个表来完成
比如说每个月出勤天数 select sum(*) from 记录表 where 日期在指定月范围 and 出勤情况 = '出勤'
月报表等等都能通过语句加上适当的循环来实现

是不是给你说得有点复杂?那你就别考虑打卡机和迟到早退,更简单了,呵呵本回答被提问者采纳
第2个回答  2012-03-18
这个没找到