google搜索 站内搜索                 软件测试门户 | 软件测试培训 | 文章资料精选 | 软件测试论坛 | 测试解决方案 | 软件测试博客 | 测试招聘求职 
打印

[求助] SQL server 查询问题

SQL server 查询问题


1.查找每个人每天最早和最完的记录,

2.并用最早和最完的记录,与"09:00:00"和"18:00:00"做比较,计算出迟到或早退的分钟数.

3.最后统计每个人每个月迟到和早退的次数和总的分钟数.
附件: 您所在的用户组无法下载或查看附件
人一定要靠自己!!!

TOP

你想搞什么啊


纯粹的SQL问题/.??/
我的世界因为有你而精彩!!!!

http://blog.51testing.com/index.php?uid/84226

TOP

员工考勤啊
人一定要靠自己!!!

TOP

你是纯粹的想写查询句子是吧!!


不是别的什么啊
我的世界因为有你而精彩!!!!

http://blog.51testing.com/index.php?uid/84226

TOP

你不会要给我删吧?
人一定要靠自己!!!

TOP


你居然这样想的
本来想 告诉你怎么搞的

没有指望了 你
我的世界因为有你而精彩!!!!

http://blog.51testing.com/index.php?uid/84226

TOP

哈哈,就是要纯粹的语句
人一定要靠自己!!!

TOP

问题不明白


不是很明白你的问题,为什么每个人一天有那么多次签到?????
如果上班签到,为什么王佳2006-12-20,有3次上班签到????

TOP

这个你把正常上班也就是“签到。。签退”,为一个工1,其他情况,不全的,先签退,再签到;或者就签一次的为旷工0,或者记半天工,这样便于你分析。再根据你要求的时间来筛选。。。
具体写的要根据你自己的表来调用拉,

TOP

没有严格按要求正常上。。下。完整班次的,君按 旷工处理也就是0,半个工设为0.5,看你的意思,
有完整上下班的,按最后一次签到,到第一次签退的时间结算。为1,但是中间时间的间隔,也就是你们公司规定的上班到下班的签到时间,大于一定时间的也按0.5,还有早退现象,你自己想吧
重要的你设置参数。。1.        0         .0.5       如何用时间段来给他们定义,

TOP

我们公司那个门是指纹鉴定开关,出入都的用指纹来开门,所以会有多条记录.
人一定要靠自己!!!

TOP

引用:
原帖由 roadxizi 于 2007-1-29 09:47 发表
我们公司那个门是指纹鉴定开关,出入都的用指纹来开门,所以会有多条记录.
挺先进的!不过签到和开门应该分开记录吧!
幸福是灵魂的味道……

TOP

挺麻烦的。。。
纯SQL的话。。。。
嵌套条件比较多,而且SQL SERVER在做子查询的时候,返回结果不能超过一个,不然会导致ODBC 错误
☆欢迎访问我的blog: http://blog.sina.com.cn/hurui82

TOP

那里那里,买人家个东西用了,

我现在问的问题了查找记录,

呵呵  并不是设置那个指纹鉴定器
人一定要靠自己!!!

TOP

最晚记录可以这么写:
SELECT MAX(日期时间) AS Expr1, 姓名
FROM 表名
WHERE (日期时间 BETWEEN '2005-8-1 00:00:00' AND '2005-8-1 23:59:59') AND
      (姓名 = 'ecust')
GROUP BY 姓名

姓名可以做嵌套查询:  SELECT DISTINCT 姓名 FROM 表名
☆欢迎访问我的blog: http://blog.sina.com.cn/hurui82

TOP

楼主是要sql语句吗?
呵呵
相信我 没错的!
请Q我吧!

TOP

(姓名 = 'ecust')  感觉不对,因为不知道谁走的最晚,

WHERE 条件里怎么就固定了姓名了呢?
人一定要靠自己!!!

TOP

最早:
select * from table1 where not exists (select id from table1 where id = a.id and 日期时间 < a.日期时间) as a

最晚:
select * from table1 where not exists(select * from table1 where id = a.id and 日期时间 > a.日期时间) as a
呵呵
相信我 没错的!
请Q我吧!

TOP

好像不对了,对于某一个人id不唯一,不能关联!应该这样写:


最早时间:
select * from table1 where not exists (select id from table1 where 姓名 = a.姓名 and 日期时间 < a.日期时间) as a

最晚时间:
select * from table1 where not exists(select * from table1 where 姓名 = a.姓名 and 日期时间 > a.日期时间) as a
呵呵
相信我 没错的!
请Q我吧!

TOP

以上是1的回答,请楼主检查
2、3我认为还比较难,等吃完饭回来研究!
呵呵
相信我 没错的!
请Q我吧!

TOP

 
当前时区 GMT+8, 现在时间是 2008-11-23 04:26Copyright(C)上海博为峰软件技术有限公司 2001-2007 电话:021-64471599-8017
当您在访问网站、论坛及博客过程中遇到问题时可发送email:webmaster@51testing.com或发送论坛短信至管理员风在吹