需要帮助构建SQL查询

时间:2015-03-20 15:52:29

标签: mysql sql

我想知道是否有人可以帮我解决这个问题,我曾经做过很多事情,例如使用工会查询,但我认为我在寻找错误的地方。 我正在尝试在单个表上运行SQL查询,以便向用户提供仅发现总销售额的datareader权限。

表格本身包含数据库中类型为1或3的销售和退款。

表示例结构:

Reference    TransactionType  StockCode   Value
Sale01       1                Bat1         10
Sale01       1                Bat1         10
Sale09       1                Ball1         3
Sale15       1                Shin1        50
Sale16       1                Bat1         10
Refund06     3                Bat1         10

我需要获得的是股票的总价值,其中退款总额从总金额中扣除,以便显示为:

StockCode         TotalSales
Bat1              20
Ball1              3
Shin1             50

这意味着我必须在一列下进行计算: 选择(如果type为1则sum(value) - (如果type为3则sum(value)

老实说,我根本做不到!我曾尝试使用临时表等,但它完全让我难过。

1 个答案:

答案 0 :(得分:2)

你去吧

SELECT StockCode,   
    SUM( (CASE WHEN TransactionType = 3 THEN -1 ELSE 1 END) * Value)
FROM yourtable
GROUP BY StockCode