sql查询中的变量和

时间:2017-09-14 13:39:51

标签: sql sql-server

我有以下表格数据:

ID  DATA    VALUE
1   SUM      10
1   SUM      20
1   SUM      30
1   MIN      30

现在我想找到总共1个ID。

2 个答案:

答案 0 :(得分:3)

这将有效:

SELECT 
  ID, 
  SUM(CASE(DATA) 
         WHEN 'SUM' THEN VALUE 
         ELSE -VALUE 
      END) TOTAL 
FROM #TEMP 
GROUP BY ID 

答案 1 :(得分:1)

我想你想要:

select sum(case when data = 'sum' then value
                when data = 'min' then - value
           end) as total
from t
where id = 1;

数据值SUMMIN确实是非常糟糕的选择,因为这些是执行不同操作的SQL函数的名称。我可能只是建议+-或加/减或加/减。