求一条 处理效率高的 多级查询 且带运算的 sql语句
1.    
 select   cd1.cInvcode,   sum(cd1.iquantity)   as   SumNum 
                   from   inventory   cd0,currentstock   cd1   where   cd1.cInvcode   =      
 cd0.cInvcode 
 	group   by   cd1.cInvcode      
 通过以上语句   得到   虚拟表(若命名别名为:kk)      中   
 kk.cInvCode,   kk.SumNum      这两个字段的内容   
 表的字段有:   |   kk.cInvCode   |   kk.SumNum   |     
 2.   表   Inventory(别名为In)   中   的字段有   cInvCode,   iTopSum(上限数量),      
 iLowSum(下线数量),cInvName      
 要求: 
 当   虚拟表kk   和   表   Inventory   中的   (In.cInvCode=kk.cInvCode)字段相等时对应   
 的记录时的:   
 	比较      kk.SumNum   和   iTopSum(上限数量),   iLowSum(下线数量)   的差值 
 ,条件   a,b   满足其中一个条件. 
 a:如果:      kk.SumNum   >    In.iTopSum      得到:   (kk.SumNum   -   In.iTopSum)   的值; 
 b:如果:      kk.SumNum    <   In.iLowSum      得到:   (In.iLowSum   -   kk.SumNum)   的值;   
 最后得到显示表的结果是:            
 表的字段有:   |   cInvCode   |   cInvName   |   SumNum   |   iTopSum   |   iLowSum   |      
 能不能通过   sql语句实现呢? 
------解决方案--------------------
描述得太乱 
 select 
 i.cInvCode,i.cInvName,t.SumNum,i.iTopSum,i.iLowSum, 
 case when t.SumNum >  I.iTopSum  then t.SumNum - I.iTopSumor else i.iLowSum-t.SumNum end as 差值 
 from Inventory i, 
 ( 
 select cd1.cInvcode, sum(cd1.iquantity) as SumNum 
       from inventory cd0,currentstock cd1 where cd1.cInvcode =  
 cd0.cInvcode 
 	group by cd1.cInvcode 
 ) as t 
 where i.cInvCode=t.cInvCode 
 and t.SumNum >  I.iTopSum  or t.SumNum  < i.iLowSum)