获得总和的问题

Roh*_*han 6 sql t-sql sql-server

我有这些数据:

name    qty     date                    flag  
---------------------------------------------    
abc     255     11/10/1986 12:00:00 AM  IN
abc     300     11/10/2010 12:00:00 AM  IN
abc     12      11/10/2012 12:00:00 AM  OUT
abc     13      11/9/2010 12:00:00 AM   OUT
NULL    NULL    NULL                    NULL
Run Code Online (Sandbox Code Playgroud)

我希望获得qty该特定行的总和:

  • 如果flag是"in",那么它将添加到总和中
  • 如果flag是"out",那么它将从总和中减去

Mic*_*sov 13

SELECT SUM(case flag when 'IN' then qty else -qty end)
from table
WHERE ..... Your conditions here ...
Run Code Online (Sandbox Code Playgroud)