把它变为存储过程。没有加任何东西?

解决方案 »

  1.   


    --先试下这个: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