Sommer plusieurs lignes SQL en fonction d'une seule colonne [Résolu/Fermé]

Signaler
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
17 janvier 2020
-
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
17 janvier 2020
-
Bonjour Tout le monde, j'ai besoind e votre aide, en fait à partir de ma requete je dois avoir les lignes sommées en focntion du numéro de compte, Or quand j'ai essayé un GROUP BY avec tous les éléments de ma sélection il me somme pas, ci après mon code:



SELECT DISTINCT
FORMAT([T2].StartingDate, 'dd/MM/yyyy') AS [ Date début de l'exercice],
 FORMAT([T2].EndingDate, 'dd/MM/yyyy') AS [ Date fin de l'exercice],
EntryLineDate,
[T0].[GeneralAccountNumber],
CASE [JournalCode] WHEN 'RAN' THEN [T0].[Debit] ELSE 0 END AS [Débit à nouveaux],
CASE [JournalCode] WHEN 'RAN' THEN [T0].[Credit]  ELSE 0 END AS [Crédit à nouveaux],
CASE [JournalCode] WHEN 'RAN' THEN  0 ELSE [T0].[Credit]   END AS [Crédit ],
CASE [JournalCode] WHEN 'RAN' THEN  0 ELSE [T0].[Debit]   END AS [Débit ],
(CASE
    WHEN Credit- Debit > 0 THEN Credit- Debit
  END) AS [Solde débiteur],
  (CASE
    WHEN Credit- Debit  < 0 THEN Credit- Debit
  END) AS [Solde Créditeur],
[T1].[JournalCode]
FROM (((([EntryLine] T0
LEFT OUTER JOIN [JournalTotals] T1 ON (([T0].[JournalTotalsNumber] = [T1].[NumberId])))
LEFT OUTER JOIN [AccountingYear] T2 ON (([T1].[AccountingYearID] = [T2].[ID])))
LEFT OUTER JOIN [Journal] T3 ON (([T1].[JournalCode] = [T3].[Code])))
LEFT OUTER JOIN [Account] T4 ON (([T3].[BalanceAccount] = [T4].[AccountNumber])))



EDIT : Correction des Balises de code pour avoir la COLORATION SYNTAXIQUE

2 réponses

Messages postés
12587
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
13 octobre 2020
700
bonjour, je ne vois ni SUM, ni GROUP BY...
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
17 janvier 2020

J'ai essayé avec sum pour els totaux et group by et ça retourne rien c'est pour ça que j'ai partagé la requete de base pour avoir de 'laide c'est urgent svp
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
17 janvier 2020

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
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
Messages postés
12587
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
13 octobre 2020
700 >
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
17 janvier 2020

normal, ton GROUP BY contient trop de colonnes: tu ne peux, évidemment, avoir aucun montant dans le GROUP BY, tu ne peux y avoir que des champs identifiant le compte. essaie les deux suggestions en #6.
Messages postés
12587
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
13 octobre 2020
700 >
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
17 janvier 2020

c'est normal que tu aies plusieurs lignes par compte, car ton GROUP BY contient trop de colonnes.
tu ne peux, évidemment, avoir aucun montant dans le GROUP BY, tu ne peux y avoir que des champs identifiant le compte.

as-tu essayé les deux suggestions en #6?
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
17 janvier 2020

Merci beaucoup pour votre aide! je suis débutante en SQL mais j'espère pouvoir apprendre dans ce forum
Messages postés
12587
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
13 octobre 2020
700 >
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
17 janvier 2020

si c'est résolu, merci de le marquer.
Messages postés
42
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
17 janvier 2020

Mais bien sur , c'est déjà fait !