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

Développement SQL Server Discussion :

Sommer plusieurs lignes SQL en fonction de l'année


Sujet :

Développement SQL Server

  1. #1
    Candidat au Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mai 2019
    Messages : 7
    Points : 2
    Points
    2
    Par défaut Sommer plusieurs lignes SQL en fonction de l'année
    Bonjour Tout le monde, j'ai besoin de votre aide, en fait à partir de ma requête qui me retourne des résultats en fonction des mois de l'année je dois avoir les lignes sommées en fonction du numéro de compte par année ,c'est à dire que je dois avoir une seule ligne par compte cumulé sur l'année et non pas les montants débit et crédit sur plusieurs lignes par mois , prière de m'aider ,ci après mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    SELECT DISTINCT
    YEAR(period),
      [T0].[AccountNumber] AS [Code du compte], [T1].[FullName] AS [libellé du compte] , 
     sum(case when  [T0].[AccountNumber]=[T1].[AccountNumber] THEN  [T0].[Totals_DebitAmount] END) AS [Total Mouvements Débits de l’année] ,
     sum(case when  [T0].[AccountNumber]=[T1].[AccountNumber]THEN [T0].[Totals_CreditAmount] END) AS [Total Mouvements Crédits de l’année],
      (CASE
        WHEN Totals_SoldAmount > 0 THEN Totals_SoldAmount
      END) AS [Solde débiteur],
      (CASE
        WHEN Totals_SoldAmount < 0 THEN -Totals_SoldAmount
      END) AS [Solde Créditeur]
    FROM (([AccountTotals] T0
     LEFT OUTER JOIN [Account] T1  ON (([T0].[AccountNumber] = [T1].[AccountNumber])))
     LEFT OUTER JOIN [AccountingYear] T2  ON (([T0].[AccountingYearID] = [T2].[ID]))) 
     
    GROUP BY
    YEAR(period),
    [T0].[AccountNumber] , [T1].[FullName],  [T0].[Totals_DebitAmount],[T0].[Totals_CreditAmount],Totals_SoldAmount

  2. #2
    Candidat au Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mai 2019
    Messages : 7
    Points : 2
    Points
    2
    Par défaut
    Les lignes apparaissent pour chaque mois en fonction de chaque numéro de compte, oi je veux sommer toutes les lignes qui touche à un compte de sortes à ce que j'aie une suele ligne par compte, meric de m'aider svp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    SELECT DISTINCT
    YEAR(period),
      [T0].[AccountNumber] AS [Code du compte], [T1].[FullName] AS [libellé du compte] , 
     sum(case when  [T0].[AccountNumber]=[T1].[AccountNumber] THEN  [T0].[Totals_DebitAmount] END) AS [Total Mouvements Débits de l’année] ,
     sum(case when  [T0].[AccountNumber]=[T1].[AccountNumber]THEN [T0].[Totals_CreditAmount] END) AS [Total Mouvements Crédits de l’année],
      (CASE
        WHEN Totals_SoldAmount > 0 THEN Totals_SoldAmount
      END) AS [Solde débiteur],
      (CASE
        WHEN Totals_SoldAmount < 0 THEN -Totals_SoldAmount
      END) AS [Solde Créditeur]
    FROM (([AccountTotals] T0
     LEFT OUTER JOIN [Account] T1  ON (([T0].[AccountNumber] = [T1].[AccountNumber])))
     LEFT OUTER JOIN [AccountingYear] T2  ON (([T0].[AccountingYearID] = [T2].[ID]))) 
     
    GROUP BY
    YEAR(period),
    [T0].[AccountNumber] , [T1].[FullName],  [T0].[Totals_DebitAmount],[T0].[Totals_CreditAmount],Totals_SoldAmount

  3. #3
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    bonjour,

    il suffit de retirer l'année du regroupement non ? soit retirer YEAR(period) du SELECT et du GROUP BYsinon, postez un tableau indiquant le résultat obtenu, et celui voulu, ça aidera a mieux comprendre ce que vous cherchez à faire.

Discussions similaires

  1. Modifier plusieurs lignes automatiquement en fonction d'un champ
    Par mia.555 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/09/2016, 13h29
  2. [MySQL] Compter le contenu de plusieurs lignes SQL
    Par Alexcontact dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/07/2015, 16h20
  3. Réponses: 2
    Dernier message: 14/05/2012, 18h16
  4. Awk : sommer plusieurs lignes, dont le nombre est variable
    Par gangsoleil dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 30/01/2012, 17h40
  5. Réponses: 13
    Dernier message: 13/08/2007, 14h29

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