最简洁的连续上班人员统计查询SQL语句,请你帮手?详细情况请看下面:

sun20031223 2006-02-23 06:52:38
日考勤结果表Attend的结构如下:
Id 自动编号 ----序
EM_ID 文本(6) ----工号
AttendDate 日期/时间 ----出勤日期
WorkTime 单精度 ----工时
-----------------------------------
id em_id AttendDate WorkTime
1 001 2006-01-01 8.0
2 001 2006-01-02 8.0
3 001 2006-01-03 8.0
4 001 2006-01-04 8.0
5 001 2006-01-05 8.0
6 001 2006-01-06 8.0
7 001 2006-01-07 8.0
8 001 2006-01-08 8.0
9 002 2006-01-01 8.0
10 002 2006-01-02 8.0
11 002 2006-01-03 8.0
12 002 2006-01-04 8.0
13 002 2006-01-05 8.0
14 003 2006-01-01 8.0
15 003 2006-01-02 8.0
16 003 2006-01-03 8.0

用一条SQL语句求得连续上班超过6天的人员记录即:
Em_ID
-----
001
...全文
192 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2006-02-27
  • 打赏
  • 举报
回复
用SQL不能解决,用VBA编程,判断前后日期是否连续。
sun20031223 2006-02-25
  • 打赏
  • 举报
回复
致:楼上Liujiayou(David):
先谢谢你!

还继续苦苦寻找答案........
sun20031223 2006-02-24
  • 打赏
  • 举报
回复
对,必须要考率连续上班的要求啊!
changechange 2006-02-24
  • 打赏
  • 举报
回复
select em_id,sum(worktime) from Attend
group by em_id having sum(worktime)>48
------这句是错误的,不连续的没考虑
neil1998 2006-02-24
  • 打赏
  • 举报
回复

select em_id,sum(worktime) from Attend
group by em_id having sum(worktime)>48
wwwwb 2006-02-24
  • 打赏
  • 举报
回复
用SQL不好做,用VBA编程,判断前后日期是否连续。
changechange 2006-02-24
  • 打赏
  • 举报
回复
DCOUNT 取同一EM ID 重复数量大于6, DMAX-DMIN 超过 6的去掉,剩下的就是连续上班8 天的。

代码你自己写吧。

不过是纯 ACCESS 可以用,在其他环境不行
Liujiayou 2006-02-24
  • 打赏
  • 举报
回复
好象要加上GROUP,MAX之类的东西
Liujiayou 2006-02-24
  • 打赏
  • 举报
回复
对了,结果这样
ID EMID Beg End 天数
23 001 2006-1-1 2006-1-7 6
23 001 2006-1-1 2006-1-8 7
18 001 2006-1-2 2006-1-8 6
Liujiayou 2006-02-24
  • 打赏
  • 举报
回复
SELECT 表1.ID, 表1.EMID, 表1.AttendDate AS Beg, 表1_1.AttendDate AS [End], DateDiff("d",[表1].[AttendDate],[表1_1].[AttendDate]) AS 天数
FROM 表1 INNER JOIN 表1 AS 表1_1 ON 表1.EMID = 表1_1.EMID
WHERE DateDiff("d",[表1].[AttendDate],[表1_1].[AttendDate]) >=6
ORDER BY 表1.EMID, 表1.AttendDate, 表1_1.AttendDate;

这是一个中间结果,后面的。。。要各位大侠出手了
sun20031223 2006-02-24
  • 打赏
  • 举报
回复
看来这条Access的SQL语句的实现有点难度!大伙再帮手想想着吧!感谢先!
changechange 2006-02-24
  • 打赏
  • 举报
回复
楼主问题是 DELPHI 的问题?

你可以用 TADO 取出数据后再操作,你的编程环境无法直接用 JET SQL 实现
neil1998 2006-02-24
  • 打赏
  • 举报
回复
就是哦

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧