--先试下这个:DROP PROC SPName --先删掉你的sp goCREATE PROC spNAME @dStartDate as datetime, @dendDate as datetime WITH RECOMPILE ASSelect ISnull(G.Rs_Gh,H.Rs_Gh) as Rs_Gh,IsNull(G.Kq_JbSj,0) as Kq_JbSj ,IsNull(H.CqJs,0) as CqJS From (Select Rs_Gh, Sum(Kq_JbSj/60) as Kq_JbSj From T_Kq_OkkqMx Where Kq_KqRq Between @dStartDate and @dEndDate Group By Rs_Gh )G Full join ---Full 前為已經計算的加班時間。 (Select E.Rs_Gh,Sum(CqJs) as CqJs From (Select A.Jb_Rq ,Sum( CqJs/60) as CqJs,A.Rs_Gh From T_Kq_JbDj A Left Join T_Kq_JbUp B on A.Up_Id=B.Id Left Join T_Kq_Bc C on A.Kq_Jb=C.Kq_Bc Where DelSign=0 and sqr_Audit =1 and Jb_rq Between @dStartDate and @dEndDate Group By A.Jb_rq,A.Rs_Gh ) E Left Join (Select Kq_KqRq ,Kq_JbSj/60 as Kq_JbSj ,Rs_Gh From T_Kq_OkkqMx Where Kq_KqRq Between @dStartDate and @dEndDate) F ON E.Rs_Gh=F.Rs_Gh and E.Jb_rq=F.Kq_Kqrq Where Kq_KqRq Is Null Group by E.Rs_Gh )H on G.Rs_Gh=H.Rs_Gh WHere IsNull(G.Kq_JbSj,0)+IsNull(H.CqJs,0)>0
--先试下这个:DROP PROC SPName --先删掉你的sp
goCREATE PROC spNAME
@dStartDate as datetime,
@dendDate as datetime
WITH RECOMPILE
ASSelect ISnull(G.Rs_Gh,H.Rs_Gh) as Rs_Gh,IsNull(G.Kq_JbSj,0) as Kq_JbSj ,IsNull(H.CqJs,0) as CqJS
From (Select Rs_Gh, Sum(Kq_JbSj/60) as Kq_JbSj
From T_Kq_OkkqMx Where Kq_KqRq Between @dStartDate and @dEndDate
Group By Rs_Gh )G
Full join ---Full 前為已經計算的加班時間。
(Select E.Rs_Gh,Sum(CqJs) as CqJs
From (Select A.Jb_Rq ,Sum( CqJs/60) as CqJs,A.Rs_Gh From T_Kq_JbDj A
Left Join T_Kq_JbUp B on A.Up_Id=B.Id Left Join T_Kq_Bc C on A.Kq_Jb=C.Kq_Bc
Where DelSign=0 and sqr_Audit =1 and Jb_rq Between @dStartDate and @dEndDate
Group By A.Jb_rq,A.Rs_Gh ) E
Left Join
(Select Kq_KqRq ,Kq_JbSj/60 as Kq_JbSj ,Rs_Gh
From T_Kq_OkkqMx Where Kq_KqRq Between @dStartDate and @dEndDate) F
ON E.Rs_Gh=F.Rs_Gh and E.Jb_rq=F.Kq_Kqrq
Where Kq_KqRq Is Null Group by E.Rs_Gh )H
on G.Rs_Gh=H.Rs_Gh WHere IsNull(G.Kq_JbSj,0)+IsNull(H.CqJs,0)>0