2013-08-22 26 views
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 

任何一個可以幫助我..

回答

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; 
+0

@ snp.it。 。 。你什麼意思?這是您的樣本結果中的值。 –

+0

對不起。 –