select sUM(IF ([X Limited$Detailed Cust_ Ledg_ Entry].[Amount (LCY)] < 0, 0, X Limited$Detailed Cust_ Ledg_ Entry].[Amount (LCY)] )) as DAmount
4 Réponses :
Utilisez un cas code> Expression:
Utilisez cas lorsque
select case when SUM([X Limited$Detailed Cust_ Ledg_ Entry].[Amount (LCY)])<0 then 0 else SUM([X Limited$Detailed Cust_ Ledg_ Entry].[Amount (LCY)]) end AS DAmount
Merci beaucoup @zaynul Abadin Tuhi
Vous pouvez utiliser un cas lorsque
select sum(case when [X Limited$Detailed Cust_ Ledg_ Entry].[Amount (LCY)] >0 then [X Limited$Detailed Cust_ Ledg_ Entry].[Amount (LCY)] end ) as DAmount
@Strowberry - Si vous pensez que les solutions simples sont disponibles, pourquoi ne pas ajouter de réponse avec un plutôt que de rendre la réponse de quelqu'un d'autre vague?
J'ai remarqué qu'il existe de multiples réponses avec des déclarations de cas, mais une autre option pourrait vous intéresser (à l'aide d'une clause où).
Select SUM([X Limited$Detailed Cust_ Ledg_ Entry].[Amount (LCY)]) AS DAmount FROM Table Where [X Limited$Detailed Cust_ Ledg_ Entry].[Amount (LCY)]>0
Quelle base de données utilisez-vous réellement?
Donc, vous avez deux MySQL Tags et un SQL-Server tag. Ce sont différents produits i>. Choisissez-en une, puis modifiez votre question et supprimez les balises inappropriés i>.