0
votes

Comment puis-je remplacer les valeurs négatives dans cette colonne à 0

select sUM(IF ([X Limited$Detailed Cust_ Ledg_ Entry].[Amount (LCY)]  < 0, 0, X Limited$Detailed Cust_ Ledg_ Entry].[Amount (LCY)] )) as DAmount

2 commentaires

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 . Choisissez-en une, puis modifiez votre question et supprimez les balises inappropriés .


4 Réponses :


0
votes

Utilisez un cas Expression: xxx


0 commentaires

0
votes

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


1 commentaires

Merci beaucoup @zaynul Abadin Tuhi



1
votes

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


1 commentaires

@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?



0
votes

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


0 commentaires