本帖最后由 wy_li 于 2010-04-29 12:34:28 编辑

解决方案 »

  1.   

    union后面的改为
    select a.user_name,'浪费工时',ifnull(sum(b.waste_hour),0),c.dept_name from user_work a left join user_waste on a.user_name = b.user_name inner join sys_dept c on a.dept_id=c.dept_id
      

  2.   

    最好是创建一个人员表。这样可以使用left join
      

  3.   

    select a.user_name,'工作工时',sum(a.work_hour),b.dept_name 
    from user_work a left join sys_dept b
    on a.dept_id=b.dept_id
    group by a.user_name
    union
    select a.user_name,'浪费工时',sum(a.waste_hour),b.dept_name 
    from user_waste a left join sys_dept b  
    on a.dept_id=b.dept_id
    group by a.user_name  
      

  4.   

    问题解决了,感谢各位提醒,是先创建临时表在用left join