0
votes

Comment soustraire 2 Somme dans la requête SQL

Je veux trouver le montant total exceptionnel pour une quantité d'élément particulière à l'exclusion du montant de remboursement.

Il y aura deux colonnes pour chaque élément en fonction du nombre de fois qu'il a été vendu, final_amount code> et 2e refund_amount code> pour chaque élément et je souhaite soustraire total refund_amount code> à partir de final_amount code> pour chaque élément. P>

PFB Le code / Query p>

SUM(total_amount - total_refund) AS npv


1 commentaires

Quel est le groupe par 1 pour?


4 Réponses :


0
votes

Vous manquez une virgule. De plus, vous devriez rechercher null après le somme () : xxx


0 commentaires

0
votes

Essayez ceci xxx


0 commentaires

1
votes

Tout d'abord, il y a quelques erreurs de syntaxe. Vous manquez une virgule entre tous les éléments de sélection (entre votre total_réfund code> et exceptionnel_amount code>). Vous devez également vérifier si le somme () code> était null, non si la colonne était nulle. Vous pouvez également utiliser coalesce () code> si vous préférez cela. Enfin, vous devez groupe par code> quelque chose d'utile, comme le item_id code>.

SELECT item_id,
       SUM(final_amount) as total_amount,
       ISNULL(SUM(refund_amount), 0) AS total_refund,
       SUM(final_amount) - ISNULL(SUM(refund_amount), 0) AS outstanding_amount
FROM tabel1 WHERE item_id in ('119688521',
                              '109536343',
                              '99459466',
                              '97126817',
                              '138148320',
                               '107816131')

GROUP BY item_id


0 commentaires

0
votes

Vous manquez de faire une virgule (,) après votre colonne ".... comme total_refund". Ajoutez la virgule et cela résoudra la question de la syntaxe.

et s'il vous plaît utiliser le groupe par item_id au lieu de groupe par 1


0 commentaires