假设你的员工表和加班时间表之间用员工ID来关联,实际上这两个表一定需要某种关联。按理说你的加班时间表上面会有月份,nums 表是用不到的 语句如下,注意替换成你的实际字段 elect a.员工姓名, b.月份, b.加班小时数 from 员工表 a ,加班时间表 b where a.员工ID = b.员工ID order by a.员工名, b.月份
勘误:select a.员工姓名, b.月份, b.加班小时数 from 员工表 a ,加班时间表 b where a.员工ID = b.员工ID order by a.员工名, b.月份
select a.员工姓名,C.ID AS 月份, SUM(b.加班小时数) AS 加班小时数 from Num表 C CROSS JOIN 员工表 a LEFT JOIN 加班时间表 b ON a.员工ID = b.员工ID AND C.ID = MONTH(B.时间) GROUP BY a.员工姓名,C.ID order by a.员工姓名,C.ID 大概如此吧,楼主太懒,表结构都没有说全
改下可能的小问题select a.员工姓名,C.ID AS 月份, ISNULL(SUM(b.加班小时数),0) AS 加班小时数 from Num表 C CROSS JOIN 员工表 a LEFT JOIN 加班时间表 b ON a.员工ID = b.员工ID AND C.ID = MONTH(B.时间) GROUP BY a.员工姓名,C.ID order by a.员工姓名,C.ID
语句如下,注意替换成你的实际字段
elect a.员工姓名, b.月份, b.加班小时数 from 员工表 a ,加班时间表 b where a.员工ID = b.员工ID order by a.员工名, b.月份
from Num表 C CROSS JOIN
员工表 a LEFT JOIN 加班时间表 b
ON a.员工ID = b.员工ID AND C.ID = MONTH(B.时间)
GROUP BY a.员工姓名,C.ID
order by a.员工姓名,C.ID
大概如此吧,楼主太懒,表结构都没有说全
from Num表 C CROSS JOIN
员工表 a LEFT JOIN 加班时间表 b
ON a.员工ID = b.员工ID AND C.ID = MONTH(B.时间)
GROUP BY a.员工姓名,C.ID
order by a.员工姓名,C.ID