Bonjour à tous,
J'aurais besoin d'aide sur une requete qui me retourne 2 ligne sur lequels je souhaiterais faire un cumul.Pour etre un peu plus claire j'ai 3 champ Codevaleur, Quantite et Sens, je veux en fonction du sens (Achat ou vente) signe ma quantite et faire le cumul après pour m eretrouver avc une seul ligne pour un code valeur donné. et je coince dessus. voilà ma PS à compléter qui utilise un curseur sachant que je ne c pas si c la bonne solution sous SQLserver2000.
Merci de votre aide
DECLARE @Titre varchar(9)
DECLARE @Sens varchar(1)
DECLARE @Qte int
DECLARE Curs_TOPS CURSOR FOR
--Séléction des instructions
SELECT T_Titres.CodeValeur, SUM(CONVERT(decimal, REPLACE(T_Operations.Quantite, ',', '.'))) as Qte,T_Operations.Sens
FROM T_Contreparties INNER JOIN
T_Operations ON T_Contreparties.CodeCtpie = T_Operations.CodeCtpie RIGHT OUTER JOIN
T_Titres ON T_Operations.CodeValeur = T_Titres.CodeValeur
GROUP BY T_Operations.Sens, T_Titres.CodeValeur
BEGIN
OPEN Curs_TOPS
END
FETCH Curs_TOPS INTO @Titre,@Qte,@Sens
WHILE @@FETCH_STATUS<>-1
BEGIN
if @Sens='A'
set @Qte=@Qte
IF @Sens='V'
set @Qte=@Qte*-1
FETCH Curs_TOPS INTO @Titre,@Qte,@Sens
END
CLOSE Curs_TOPS
DEALLOCATE Curs_TOPS
Partager