求一个SQL语句,谢谢大家了。解决问题就揭贴。
表结构如下: 
 goodsname         goodscount         goodstype             
 ----------   -----------   -----------    
 book                           23                                       0 
 book                           1                                          1 
 book1                        100                                    0 
 book1                        10                                       1      
 目的:用货物类型为0的数量   -   货物类型为1的数量 
 预期结果: 
 goodsname         goodscount       
 ----------   -----------    
 book                           22                                        
 book1                        90         
 谢谢大家了。解决问题就揭贴。
------解决方案--------------------  create table #T(goodsname varchar(100),   goodscount  int,  goodstype    int)   
 insert into #t     
 select  'book ',23, 0 union all 
 select  'book ',1,  1 union all 
 select  'book1 ',100,0 union all 
 select  'book1 ',10, 1      
 select goodsname,sum(case when goodstype=1 then goodscount*-1 else goodscount end) as  goodscount   
 from #t 
 group by goodsname   
 drop table #t   
------解决方案--------------------goodsname   goodscount   goodstype     
 ---------- ----------- -----------  
 book         23             0 
 book         1              1 
 book1        100            0 
 book1        10             1   
 select isnull(m.goodsname,n.goodsname) goodsname , isnull(m.goodscount,0) - isnull(n.goodscount goodscount,0) from 
 (select goodsname,sum(goodscount) goodscount from tb where goodstype = 0 group by goodsname) m 
 full join 
 (select goodsname,sum(goodscount) goodscount from tb where goodstype = 1 group by goodsname) n 
 on m.goodsname = n.goodsname   
------解决方案--------------------  create table temptb 
 ( 
    goodsname varchar(10), 
    goodscount int, 
    goodstype int 
 )   
 insert into temptb select  'book ',23, 0 
 union all select  'book ',1,1 
 union all select  'book1 ',100,0 
 union all select  'book1 ',10,1     
 select goodsname,sum(case when goodstype=1 then -goodscount end)+sum(case when goodstype=0 then goodscount end ) goodscount from temptb group by goodsname