IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Operation Somme sur une requete


Sujet :

MS SQL Server

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    22
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 22
    Par d�faut Operation Somme sur une requete
    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

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    98
    D�tails du profil
    Informations personnelles :
    �ge : 50
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 98
    Par d�faut
    Bonjour,

    Je ne connais pas les proc�dures stock�es, mais avec une requ�te sql j'utiliserais "case when"

    ex:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select CodeValeur, 
             coalesce(Sum(Case sens
               When 'A' Then Qte
               When 'V' Then (Qte * -1)
                End) ' +
           , 0.0) as Total
    from MaTable
    where ClauseWhere
    group by CodeValeur
    Isa

Discussions similaires

  1. transformation sur une requete SELECT
    Par juniorAl dans le forum Langage SQL
    R�ponses: 8
    Dernier message: 08/04/2005, 18h12
  2. petite aide sur une requete INSERT INTO
    Par bonneti dans le forum Langage SQL
    R�ponses: 3
    Dernier message: 14/03/2005, 15h17
  3. Somme dans une requete
    Par fuelcontact dans le forum MS SQL Server
    R�ponses: 2
    Dernier message: 19/08/2004, 10h40
  4. Aide sur une requete de s�lection
    Par stephdiplo150 dans le forum Langage SQL
    R�ponses: 4
    Dernier message: 16/01/2004, 10h40
  5. []débogage sur une requête dasn visual basic
    Par mcay dans le forum VB 6 et ant�rieur
    R�ponses: 19
    Dernier message: 24/09/2003, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo