我们的人事考勤系统有个自定义查询功能,现想做一个自定义查询.考勤系统中打卡有4个时间 先把他命名DATETIME1,DATETIME2,DATETIME3,DATETIME4,员工卡号 字段名为CARDNO ,考勤数据表名为 KQ_SOURCE 请问 怎么才能做到查出连续3天没打卡的人员名单. 本人新手没多少分,如果哪为大哥能解决 本人愿意给全部分数.
解决方案 »
- sql server2005的远程连接问题
- mysql多表多条件查询,没有主外键
- 关于在程序中创建,备份,恢复数据库的问题。
- sql 2000 和sql 2005数据文件复制问题
- 关于字段名的命名问题,有什么标准么??
- sqlserver, 比较字符串, 区分长度
- 装SQL Server的时候是否有输入用户名和密码?
- [DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问
- select @column_name from @object_name 请问如何实现变量的列名,变量的对象名中选择??
- 如和安装unix的补丁
- 头一次发贴,请多支持(SSIS包的配置问题)
- sqlserver activex 包执行问题 (非邹建不能解决)
DATETIME1,DATETIME2,DATETIME3,DATETIME4--这个是数据还是字段?
(
select CARDNO,DATETIME1 DATETIME from KQ_SOURCE
union all
select CARDNO,DATETIME2 DATETIME from KQ_SOURCE
union all
select CARDNO,DATETIME3 DATETIME from KQ_SOURCE
union all
select CARDNO,DATETIME4 DATETIME from KQ_SOURCE
)
order by CARDNO,DATETIME对上面的临时表用循环来判断
(
select CARDNO,DATETIME1 DATETIME from KQ_SOURCE
union all
select CARDNO,DATETIME2 DATETIME from KQ_SOURCE
union all
select CARDNO,DATETIME3 DATETIME from KQ_SOURCE
union all
select CARDNO,DATETIME4 DATETIME from KQ_SOURCE
) aselect CARDNO from (
select a.CARDNO,a.DATETIME1,min(b.DATETIME1) DATETIME2 from # a left join # b
on a.CARDNO=b.CARDNO and a.DATETIME1<b.DATETIME1
group by CARDNO)a where
datediff(dd,a.DATETIME1,b.DATETIME2)>=3