22,301
社区成员




--先试下这个:
DROP PROC SPName --先删掉你的sp
go
CREATE PROC spNAME
@dStartDate as datetime,
@dendDate as datetime
WITH RECOMPILE
AS
Select 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