UPDATE ap ; SET nstkjour = pd.nStkjourCor ; FROM V_AgendaPhar ap ; JOIN(; SELECT apd.nstkjour AS nStkjourCor, ; apd.itraiterId , apd.iagendadateid ; FROM AgendaPhar apd ; WHERE apd.iagendadateid < lnVp_Id ; AND NOT EXISTS ( SELECT * FROM AgendaPhar ; WHERE itraiterId = apd.itraiterId ; AND iagendadateid < lnVp_Id ; AND iagendadateid > apd.iagendadateid)) pd ; ON ap.itraiterId = pd.itraiterId ; WHERE ap.iagendadateid = lnVp_Id3) For the first day , there is no previous days with stock.
SET nstkjour = NVL( pd.nStkjourCor , V_AgendaPhar.nstkjour ) ?????????>To update one day
>lnVp_Id = 2 > >UPDATE ap ; > SET nstkjour = pd.nStkjourCor - pd.nConsjourCor ; > FROM V_AgendaPhar ap ; > JOIN(; > SELECT apd.nStkjour AS nStkjourCor, nConsjour AS nConsjourCor, ; > apd.itraiterId , apd.iagendadat ; > FROM V_AgendaPhar apd ; > WHERE apd.iagendadat < lnVp_Id ; > AND NOT EXISTS ( SELECT * FROM V_AgendaPhar ; > WHERE itraiterId = apd.itraiterId ; > AND iagendadat < lnVp_Id ; > AND iagendadat > apd.iagendadat)) pd ; > ON ap.itraiterId = pd.itraiterId ; > WHERE ap.iagendadat = lnVp_Id >>