0

我有这个专栏,

  ID  Year  ColumnDesc  Amount   
  1    2000   Taken       100
  1    2000  NotTaken    10
  1    2001   Taken       200
  1    2001  NotTaken   100

所以我需要做相同 ID 和年份的金额之间的差异,所以我的表格应该看起来像。

  ID  Year  ColumnDesc  Amount   
  1    2000   Taken    90
  1    2001   Taken    100

谁能帮我..

4

1 回答 1

5

我认为你想要条件聚合:

select id, year, 'Taken' as ColumnDesc,
       sum(case when ColumnDesc = 'Taken' then Amount
                when ColumnDesc = 'Not Taken' then - Amount
                else 0
           end) as Amount
from t
group by id, year;
于 2013-08-22T20:26:31.670 回答