DEUX REQUETES SELECT

Résolu/Fermé
EBIM20 Messages postés 42 Date d'inscription vendredi 19 avril 2019 Statut Membre Dernière intervention 25 avril 2021 - 11 juin 2019 à 13:11
yg_be Messages postés 22705 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 - 19 juil. 2019 à 18:14
Bonjour tout le monde; mon problème est le suivant:
j'ai une requête qui retourne un certain nombre de champs, il existe deux colonnes Totals_DebitAmount et Totals_DebitAmount qui retournent des valeurs , ce que je veux c'est exclure les résultats quand le type de journal égal à 3 et les mettre dans deux autres colonnes sur le même résultat. Merci de m'aider c'est urgent :

SELECT [T0].[GeneralAccountNumber], [T0].[Credit], [T0].[Debit], [T1].[JournalCode], [T1].[DisplayPeriod], [T2].[StartingDate], [T2].[EndingDate], [T4].[FullName], [T4].[AccountNumber],
[T1].[Totals_DebitAmount],[T1].[Totals_CreditAmount]
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])))

1 réponse

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
11 juin 2019 à 13:45
Bonjour,

Est-ce que ceci te convient ? (En appelant [type] la colonne qui contient le type...)
SELECT [T0].[GeneralAccountNumber], [T0].[Credit], [T0].[Debit], [T1].[JournalCode], [T1].[DisplayPeriod], [T2].[StartingDate], [T2].[EndingDate], [T4].[FullName], [T4].[AccountNumber],
CASE [type] WHEN 3 THEN 0 ELSE [T1].[Totals_DebitAmount] END as [Totals_DebitAmount],
CASE [type] WHEN 3 THEN 0 ELSE [T1].[Totals_CreditAmount] END as [Totals_CreditAmount],
CASE [type] WHEN 3 THEN [T1].[Totals_DebitAmount] ELSE 0 END as [Totals_DebitAmount_TYPE3],
CASE [type] WHEN 3 THEN [T1].[Totals_CreditAmount] ELSE 0 END as [Totals_CreditAmount_TYPE3]
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])))

Xavier
1
EBIM20 Messages postés 42 Date d'inscription vendredi 19 avril 2019 Statut Membre Dernière intervention 25 avril 2021
11 juin 2019 à 13:55
Rebonjour,
je viens de tester la requête mais elle en retourne toujours pas les bonnes valeurs,et elle retourne plusieurs lignes pour le même compte même quand j'utilise GROUP BY
0
EBIM20 Messages postés 42 Date d'inscription vendredi 19 avril 2019 Statut Membre Dernière intervention 25 avril 2021
11 juin 2019 à 14:05
J'ai modifie juste la colonne type et ça a fonctionné, maintenant reste le problème de l'affichage par compte ,
je veux cumuler les montants par code du compte , pourriez-vous m'aider SVP?
0
EBIM20 Messages postés 42 Date d'inscription vendredi 19 avril 2019 Statut Membre Dernière intervention 25 avril 2021
19 juil. 2019 à 17:28
Quelqu'un a une solution?
0
yg_be Messages postés 22705 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 19 avril 2024 1 471 > EBIM20 Messages postés 42 Date d'inscription vendredi 19 avril 2019 Statut Membre Dernière intervention 25 avril 2021
19 juil. 2019 à 17:48
que contient le GROUP BY?
0
EBIM20 Messages postés 42 Date d'inscription vendredi 19 avril 2019 Statut Membre Dernière intervention 25 avril 2021
19 juil. 2019 à 17:50
SELECT
[T0].[AccountNumber] AS [Code du compte], [T1].[FullName] AS [libellé du compte] ,
sum( [T0].[Totals_DebitAmount]) AS [Total Mouvements Débits de l’année] ,
sum( [T0].[Totals_CreditAmount])AS [Total Mouvements Crédits de l’année],
(CASE
WHEN Totals_SoldAmount > 0 THEN sum( Totals_SoldAmount)
END) AS [Solde débiteur],
(CASE
WHEN Totals_SoldAmount < 0 THEN sum(-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

[T0].[AccountNumber] , [T1].[FullName], [T0].[Totals_DebitAmount],[T0].[Totals_CreditAmount],Totals_SoldAmount,[T1].[AccountNumber]
0