DEUX REQUETES SELECT

Résolu
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

  1. 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
    1. 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
    2. 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
    3. Quelqu'un a une solution?
      0
    4. Contributeur
      @EBIM20que contient le GROUP BY?
      0
    5. 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