select * from (select m.* , m.总数 - isnull((select sum(总数) from 出数表 n where n.单号 = m.单号),0) val from 进数表 m ) t where val > 0
这句是什么意思??能帮忙优化下就更好!谢谢~

解决方案 »

  1.   

    select 

    from (
    select 
    m.* , 
    m.总数 - isnull(
    (select sum(总数) from 出数表 n where n.单号 = m.单号)
       ,0) val 
    from 进数表 m 
    ) t 
    where val > 0
      

  2.   

    select m.*,val=m.总数-n.val
    from  进数表 m,
    (select 单号,val=sum(总数) from 出数表 group by 单号) n
    where n.单号 = m.单号 and m.总数-n.val>0
      

  3.   

    谢谢 js_szy祝找到好工作~~~