DEUX REQUETES SELECT

Résolu
EBIM20 Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
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 3672 Date d'inscription   Statut Membre Dernière intervention   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 42 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
Quelqu'un a une solution?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > EBIM20 Messages postés 42 Date d'inscription   Statut Membre Dernière intervention  
 
que contient le GROUP BY?
0
EBIM20 Messages postés 42 Date d'inscription   Statut Membre Dernière intervention  
 
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