> UPDATE ap ; > SET nstock = pd.nstock ; > FROM Agenda ap; > JOIN (; > SELECT ag.nstock, ag.iid FROM Agenda ag WHERE ag.ddate < (vp_date) ; > UNION ALL ; > SELECT T.nstock, dt1.iid ; > FROM ( ; > SELECT iid,itraiterId ; > FROM Agenda ag2 ; > WHERE ddate = (vp_date) ; > AND NOT EXISTS (SELECT * FROM Agenda ag3 ; > WHERE ag3.ddate < (vp_date) ; > AND ag3.iid = ag2.iid) ; > ) dt1 ; > JOIN Traiter T ON T.iid = dt1.itraiterId ; > ) pd ON ap.iid = pd.iid ; > WHERE ap.ddate = vp_date >>