Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Update syntaxe for a stock programmation.
Message
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
01228160
Message ID:
01228776
Views:
22
This message has been marked as a message which has helped to the initial question of the thread.
If 'iagendadateid' is always sequential you can change where clause
*WHERE apd.iagendadateid < vp_id ) pd ;

WHERE apd.iagendadateid = vp_id-1 ) pd ;
Otherwise
UPDATE AgendaPhar  ;
			SET nstkjour = NVL( pd.nStkjourCor , 0 ) +1 ;
	FROM AgendaPhar;
	LEFT JOIN(;
			SELECT apd.nstkjour AS nStkjourCor , apd.itraiterId ;
					FROM  AgendaPhar apd ;
			WHERE apd.iagendadateid < vp_id ;
				AND NOT EXISTS ( SELECT * FROM  AgendaPhar ;
								WHERE itraiterId = apd.itraiterId ;
									AND iagendadateid < vp_id ;
									AND iagendadateid > apd.iagendadateid)) pd ;
		ON AgendaPhar.itraiterId = pd.itraiterId ;
	WHERE AgendaPhar.iagendadateid = vp_id
>
>in fact i have still a problem.
>
>
>FUNCTION test145()
>
>  CREATE CURSOR AgendaPhar  ( nstkjour N (6,2) , itraiterId I , iagendadateid I )
>
>  DIMENSION cSample[ 14 , 3 ]
>  C= 0
>
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  1743
>  cSample[ c, 3 ] =  1
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  1800
>  cSample[ c, 3 ] =  1
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  1748
>  cSample[ c, 3 ] =  1
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  1749
>  cSample[ c, 3 ] =  2
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  1743
>  cSample[ c, 3 ] =  2
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  1748
>  cSample[ c, 3 ] =  2
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  1800
>  cSample[ c, 3 ] =  2
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  1901
>  cSample[ c, 3 ] =  2
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  2043
>  cSample[ c, 3 ] =  2
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  1743
>  cSample[ c, 3 ] =  3
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  1748
>  cSample[ c, 3 ] =  3
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  1800
>  cSample[ c, 3 ] =  3
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  1901
>  cSample[ c, 3 ] =  3
>  C=C+1
>  cSample[ c, 1 ] =  0
>  cSample[ c, 2 ] =  2043
>  cSample[ c, 3 ] =  3
>
>
>  SELECT AgendaPhar
>  APPEND FROM ARRAY cSample
>
>
>
>
>
>
>  FOR vp_id = 1 TO 3
>
>       UPDATE AgendaPhar  ;
>      SET nstkjour = NVL( pd.nStkjourCor , 0 ) +1 ;
>      FROM AgendaPhar;
>      LEFT JOIN(;
>      SELECT apd.nstkjour AS nStkjourCor , apd.itraiterId ;
>      FROM  AgendaPhar apd ;
>      WHERE apd.iagendadateid < vp_id ) pd ;
>      ON AgendaPhar.itraiterId = pd.itraiterId AND ;
>      AgendaPhar.iagendadateid = vp_id
>
>  NEXT
>
>  BROWSE NOWAIT
>  SET
>
>ENDFUNC
>
>
>
>For itraiterId i want have
>
>itraiterId nstkjour iagendaId
>1743 1 1 && It is just
>1743 1 2 && It is false want i want 2
>1743 2 3 && it is false want I want 3
>
>A idea ?
>
>
>bernhart
>
>
--sb--
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform