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
最好是创建一个人员表。这样可以使用left join
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
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
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