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

Messages postés
30
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
19 juillet 2019
-
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
Afficher la suite 

2 réponses

Messages postés
8296
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2019
412
0
Merci
bonjour, je ne vois ni SUM, ni GROUP BY...
EBIM20
Messages postés
30
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
19 juillet 2019
-
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
Commenter la réponse de yg_be
Messages postés
30
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
19 juillet 2019
0
Merci
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
yg_be
Messages postés
8296
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2019
412 > EBIM20
Messages postés
30
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
19 juillet 2019
-
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.
yg_be
Messages postés
8296
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2019
412 > EBIM20
Messages postés
30
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
19 juillet 2019
-
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?
EBIM20
Messages postés
30
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
19 juillet 2019
-
Merci beaucoup pour votre aide! je suis débutante en SQL mais j'espère pouvoir apprendre dans ce forum
yg_be
Messages postés
8296
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2019
412 > EBIM20
Messages postés
30
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
19 juillet 2019
-
si c'est résolu, merci de le marquer.
EBIM20
Messages postés
30
Date d'inscription
vendredi 19 avril 2019
Statut
Membre
Dernière intervention
19 juillet 2019
-
Mais bien sur , c'est déjà fait !
Commenter la réponse de EBIM20