就是有两个表,一个是员工的表,里面有与员工的部门,一个是考勤表,里面记录是某员工的早中晚班的考勤情况,
有这样的sql语句吗?就是求某个部门下的所有的员工的早中晚班的记录总数employe表
id depid
work表
id employeid zaoban zhongban wanban 

解决方案 »

  1.   

    select a.depid,count(b.zaoban ),count(zhongban),count(wanban)
    from employe a,work b
    where a.id=b.id
    and a.depid=要查询的部门
    group by a.depid
    你那考勤表里的记录是怎么样的?贴两个看看
      

  2.   

    那就
    select count(t1.ban) from work t1 where t1.id in (select t2.id from employe where t2.depid = 'XXX');
      

  3.   

    select count(b.id) from employe a,work b 
     where a.id = b.employeid and a.depid = 部门ID; 
      

  4.   

    id depid  
    1   1 
    1   2 
    1   3 
    2   1 id employeid ban  workminute 
    1   1         1      500 
    2   1         2      400 
    3   1         2      300 
    4   1         3      229 
    5   1         3      100
    6   2         1      219 
    7   2         3      260 得到结果要这样
    employeid   ban         workminute  
    1           1            500 
    1           2            700 
    1           2            329
    2           1            219 
    2           2            0 
    2           1            260 
    ban的这个字段是分别统计出早中晚三班的总和的,workminute也就是对应的班次下的工作时间的总和