本帖最后由 silvaanderson 于 2012-08-29 01:40:37 编辑

解决方案 »

  1.   

    假设你的员工表和加班时间表之间用员工ID来关联,实际上这两个表一定需要某种关联。按理说你的加班时间表上面会有月份,nums 表是用不到的
    语句如下,注意替换成你的实际字段
    elect a.员工姓名, b.月份, b.加班小时数 from 员工表 a ,加班时间表 b where a.员工ID  = b.员工ID order by a.员工名, b.月份
      

  2.   

    勘误:select a.员工姓名, b.月份, b.加班小时数 from 员工表 a ,加班时间表 b where a.员工ID = b.员工ID order by a.员工名, b.月份
      

  3.   

    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
    大概如此吧,楼主太懒,表结构都没有说全
      

  4.   

    改下可能的小问题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