答案 0 :(得分:3)
尝试此查询:
select
"Desc",
sum(case when Type = 'out' then Qty else 0 end) -
sum(case when Type = 'in' then Qty else 0 end)
from yourTable
group by "Desc"
Desc
请注意,DESC
是保留关键字,您不应使用它来命名数据库,表或列。我认为你必须用双引号来转义它以使查询运行。
答案 1 :(得分:1)
select desc, sum(case Type when 'out' then Qty else -Qty end) from test group by desc;
这会更快。
答案 2 :(得分:0)
或
SELECT Description, SUM(Case WHEN rowtype = 'in' then 1 else -1 end * Qty) as rowqty FROM yourtable GROUP BY description
请注意,使用保留字作为列名称并不是一个好主意。 DESC和TYPE正在寻找麻烦!