求教SQL语句,按条件计算解决办法

求教SQL语句,按条件计算
表结构:
物品           移交类型             数量                 重量  
A01              A                           10                     1
A01              B                            8                      0.8
A01              C                            2                      0.2
A01              D                            2                      0.2    
B01              A                            10                   2
B01             D                             5                      1
C01              A                             1                     0.1
----------------------------------------------------------------------
计算说明:
A:入库          B :出库        C:入库           D:出库 
A01=A-B+C-D=10-8+2-2=2
B01=A-D=10-5=5
C01=A=1
--------------------------------------------------------------------------
得出效果:
物品             数量                 重量 
A01               2                       0.2
B01               5                       1
C01               1                       0.1            
------解决思路----------------------
SELECT 物品,
       SUM(CASE 移交类型 WHEN 'A' THEN 1
                         WHEN 'B' THEN -1
                         WHEN 'C' THEN 1
                         WHEN 'D' THEN -1
           END * 数量) 数量,
       SUM(CASE 移交类型 WHEN 'A' THEN 1
                         WHEN 'B' THEN -1
                         WHEN 'C' THEN 1
                         WHEN 'D' THEN -1
           END * 重量) 重量
  FROM table1
 GROUP BY 物品

物品        数量        重量
---- ----------- -----------
A01            2         0.2
B01            5         1.0
C01            1         0.1