首页 新闻 搜索 专区 学院

月份表考勤记录查询问题

0
悬赏园豆:5 [已解决问题] 解决于 2009-06-05 18:48

现在要查询指定时间段内的考勤记录数据,查询时间区间:昨天,今天,本周,本月,本年

 因为考勤表是按月生成的 

hr_table_2009_03, hr_table_2009_05,hr_table_2009_06 ........

表结构:字段 ID(bigint primary key) CheckInTime(datetime) type (smallint) 

当天一个时间点 比如 '2009-6-1 22:40:05'

现在遇到的问题是

昨天 , 本周,本年 开始时间和结束时间是跨月的,

特别是本周,因为要确认哪天是上个月的,有无比较简洁的SQL语句 来读取考勤记录

望大家能指教一下!!

 

hekai的主页 hekai | 初学一级 | 园豆:85
提问于:2009-06-04 22:52
< >
分享
最佳答案
0

考勤的问题我遇到过。

这个确实有问题。看你的 考勤的数据库是sql2000.而且只有一个字段。如果你全部一次sq 语句搞定所有的处理 估计比较难。

1.首先你要查询出最早时间和最晚时间,当天的进入和离开公司的时间;你的原数据表聚集索引没在时间列上吗?

2.你这个还按月分表,这个链接的话也是比较麻烦,及时使用临时表的话,效率也不是很高。

3.及时多表连接查询,时间列上建立聚集索引会好点。

4.也可以考虑把过滤的时间记录导入第三个表,employeeid,checkinTime,checkoutTime.设置一个计划任务定期执行导入语句,这个数据相对较少。

   你在做后期处理的话会方便点~

Frank Xu Lei | 小虾三级 |园豆:1860 | 2009-06-05 13:25
其他回答(2)
0

还在用分表?看来可能是SQL2000,动态表名的话一般是用SP在里面自动拼接SQL语句来查询。

风海迷沙 | 园豆:4453 (老鸟四级) | 2009-06-05 11:11
0

学习

叶子绿了 | 园豆:50 (初学一级) | 2009-06-05 17:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册