DEUX REQUETES SELECT

Résolu
EBIM20 Messages postés 45 Statut Membre -  
yg_be Messages postés 24281 Statut Contributeur -
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 3742 Statut Membre 1 011
 
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 45 Statut Membre
 
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 45 Statut Membre
 
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 45 Statut Membre
 
Quelqu'un a une solution?
0
yg_be Messages postés 24281 Statut Contributeur 1 584 > EBIM20 Messages postés 45 Statut Membre
 
que contient le GROUP BY?
0
EBIM20 Messages postés 45 Statut Membre
 
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