> CREATE CURSOR Traiter ( iid I , nstock N(8,2) ) > CREATE CURSOR Agenda ( iid I , ddate D(8) , itraiterId I , nstock N(8,2) ) > > INSERT INTO Traiter ( iid , nstock ) VALUES ( 1 , 14.25 ) > INSERT INTO Traiter ( iid , nstock ) VALUES ( 2 , 4.25 ) > INSERT INTO Traiter ( iid , nstock ) VALUES ( 3 , 0 ) > > > INSERT INTO Agenda ( iid , ddate , itraiterId ) VALUES ( 1 , DATE() , 2) > INSERT INTO Agenda (iid , ddate , itraiterId ) VALUES ( 2 , DATE() , 3 ) > INSERT INTO Agenda (iid , ddate , itraiterId ) VALUES ( 3 , DATE() , 1 ) > > > vp_date = DATE() > > *-- I want All stock from traiter > *-- If no record in Agenda , take stock in traiter else stock in agenda. > UPDATE ap ; > SET nstock = pd.nstock ; > FROM Agenda ap; > JOIN (; > SELECT NVL(apd.nstock, T.nstock) AS nstock, apd.iid ; > FROM Agenda apd ; > JOIN Traiter T ON T.iid = apd.itraiterId ; > WHERE apd.ddate < vp_date ; > ) pd ON ap.iid = pd.iid > >*-- Give me a bad result.. > SET > >>