主表
USERINFO表
表列USERID Name DEFAULTDEPTID…….等等,其中USERID主索引
11 张三 21
12 李四 22
DEPARTMENTS表
表列 DEPTID DEPTNAME ……等等
21 管理部
22 生产部
CHECKINOUT表
表列 USERID CHECKTIME ……等等
11 2016-03-01 08:00:00
11 2016-03-01 11:00:00
12 2016-03-01 08:00:00
12 2016-03-01 12:00:00
11 2016-03-02 08:00:00
11 2016-03-02 12:00:00
12 2016-03-02 08:00:00
12 2016-03-02 13:00:00
12 2016-03-03 08:00:00
12 2016-03-03 13:00:00
12 2016-03-04 08:00:00
12 2016-03-04 14:00:00
11 2016-03-05 08:00:00
11 2016-03-05 13:00:00
USER_SPEDAY表
表列 USERID DATEID STARTSPECDAY ENDSPECDAY
11 1 2016-03-03 2016-03-05
12 3 2016-03-05 2016-03-05
LeaveClass表
表列 LeaveId LeaveName
1 事假
2 病假
LeaveClass1表
表列 LeaveId LeaveName
3 公出
查出 2016-03-01到2016-03-05 想得到的结查,最好能一次查询,因上面只是例子,最好能把查询结果保存到临时表,想要的结果
姓名 部门 时间 记录 记录2
张三 管理部 2016-03-01 2016-03-01 08:00:00,2016-03-01 11:00:00
李四 生产部 2016-03-01 2016-03-01 08:00:00,2016-03-01 12:00:00
张三 管理部 2016-03-02 2016-03-02 08:00:00,2016-03-01 12:00:00
李四 生产部 2016-03-02 2016-03-02 08:00:00,2016-03-02 13:00:00
张三 管理部 2016-03-03 事假
李四 生产部 2016-03-03 2016-03-03 08:00:00,2016-03-03 13:00:00
张三 管理部 2016-03-04 事假
李四 生产部 2016-03-04 2016-03-04 08:00:00,2016-03-04 14:00:00
张三 管理部 2016-03-05 2016-03-05 08:00:00,2016-03-05 13:00:00
李四 生产部 2016-03-05 公出
USERINFO表
表列USERID Name DEFAULTDEPTID…….等等,其中USERID主索引
11 张三 21
12 李四 22
DEPARTMENTS表
表列 DEPTID DEPTNAME ……等等
21 管理部
22 生产部
CHECKINOUT表
表列 USERID CHECKTIME ……等等
11 2016-03-01 08:00:00
11 2016-03-01 11:00:00
12 2016-03-01 08:00:00
12 2016-03-01 12:00:00
11 2016-03-02 08:00:00
11 2016-03-02 12:00:00
12 2016-03-02 08:00:00
12 2016-03-02 13:00:00
12 2016-03-03 08:00:00
12 2016-03-03 13:00:00
12 2016-03-04 08:00:00
12 2016-03-04 14:00:00
11 2016-03-05 08:00:00
11 2016-03-05 13:00:00
USER_SPEDAY表
表列 USERID DATEID STARTSPECDAY ENDSPECDAY
11 1 2016-03-03 2016-03-05
12 3 2016-03-05 2016-03-05
LeaveClass表
表列 LeaveId LeaveName
1 事假
2 病假
LeaveClass1表
表列 LeaveId LeaveName
3 公出
查出 2016-03-01到2016-03-05 想得到的结查,最好能一次查询,因上面只是例子,最好能把查询结果保存到临时表,想要的结果
姓名 部门 时间 记录 记录2
张三 管理部 2016-03-01 2016-03-01 08:00:00,2016-03-01 11:00:00
李四 生产部 2016-03-01 2016-03-01 08:00:00,2016-03-01 12:00:00
张三 管理部 2016-03-02 2016-03-02 08:00:00,2016-03-01 12:00:00
李四 生产部 2016-03-02 2016-03-02 08:00:00,2016-03-02 13:00:00
张三 管理部 2016-03-03 事假
李四 生产部 2016-03-03 2016-03-03 08:00:00,2016-03-03 13:00:00
张三 管理部 2016-03-04 事假
李四 生产部 2016-03-04 2016-03-04 08:00:00,2016-03-04 14:00:00
张三 管理部 2016-03-05 2016-03-05 08:00:00,2016-03-05 13:00:00
李四 生产部 2016-03-05 公出
解决方案
40
select u.USERID,u.Name,d.DEPTNAME,date(CHECKTIME), min(CHECKTIME),max(CHECKTIME)
from USERINFO u inner join DEPARTMENTS d on u.DEFAULTDEPTID=d.DEPTID
inner join CHECKINOUT c on u.USERID=c.USERID
group by u.USERID,u.Name,d.DEPTNAME,date(CHECKTIME)
from USERINFO u inner join DEPARTMENTS d on u.DEFAULTDEPTID=d.DEPTID
inner join CHECKINOUT c on u.USERID=c.USERID
group by u.USERID,u.Name,d.DEPTNAME,date(CHECKTIME)