如何根据某些条件在SQL查询中执行减法?

时间:2017-10-29 02:21:01

标签: mysql

我想总结qty*price其中的类型是''然后减去类型为' out'的qty*price之和。像这样的东西。 SELECT cid, name, SUM(paid_amt), (SELECT SUM(qty*price) WHERE type = 'in' - SELECT SUM(qty*price) WHERE type = 'out'), type FROM {交易{1}} 这是我的SQL查询。

1 个答案:

答案 0 :(得分:3)

您可以使用两个不同的sum表达式来解决您的问题,每个表达式都包含一个略有不同的case语句。这个想法是你的case语句只返回一个值到聚合和表达式,如果它是正确的输入。

select
  cid
  , sum(case when type = "in" then qty*price else 0 end) 
  - sum(case when type = "out" then qty*price else 0 end)
from
  your_table
group by
  cid