select d.did,isnull(sum(a.yellowwarning),0) yellows, isnull(sum(a.redwarning)*(-1),0) reds from department d left join SYS_USER u on d.did=u.depid left join (select * from approveInfo where datediff( year,'2014-1-8',yujingtime)=0) a on a.userId=u.UIDF group by d.did