如下图。要求俩种,一个是根据7月综合,8月综合,9月综合,。一个是根据三个月的综合
select t1.name,t1.age,t1.workage,t2.overtimehour,t4.remainingleavehour from t1,t2,t3,t4 where t1.id = t2.id and t1.id = t3.id and t1.id = t4.id and t4.mouth = '7' order by t4.remainingleavehour desc
SELECT T1.职员编号,T2.职员姓名,T2.职员性别,T1.工作月份,T1.加班小时数,T3.职员剩余休假小时数 FROM
(
SELECT 职员编号,SUBSTR(工作日期,1,6) AS 工作月份 , sum(加班小时数) as 加班总时间 FROM 职员业绩表 T1 WHERE ROWNUM <= 3
GROUP BY 职员编号 ORDER BY sum(加班小时数),SUBSTR(工作日期,1,6) DESC
) T1
INNER JOIN 职员管理表 T2
ON T1.职员编号 = T2.职员编号
INNER JOIN 职员休假表 T3
ON T1.职员编号 = T3.职员编号
上述SQL是将所有数据按月份统计了一下,如果需要7/8/9月或者综合统计,需稍加限定即可。
通过rownum已经限定只取前3条记录