选择2行的总和,每列的条件

时间:2017-07-10 02:11:18

标签: sql select sum

TotalQty   AmountDiscounted       ReturnDescription
1.0000      12.50                   NULL
1.0000      12.50                   RETURN
1.0000      20.625                  NULL

我有这样的数据库设计!我想要做的是将行TotalQtyAmountDiscounted相乘并得到它们的总和。

到目前为止,我有这样的查询。

SELECT sum(TotalQty * AmountDiscounted) FROM FinishedSales

但是当我处理条件时,我遇到了问题。当AmountDiscounted的值为Return时,我希望ReturnDescription列成为负数。所以基本上,最终的答案是20.625

1 个答案:

答案 0 :(得分:1)

只需使用条件聚合:

SELECT SUM(CASE WHEN ReturnDescription = 'Return' THEN - TotalQty * AmountDiscounted
                ELSE TotalQty * AmountDiscounted
           END)
FROM FinishedSales;