select a.id,(a.pieces-isnull(b.pieces,0))as pieces from 
(select  product_id,sum(pieces)as pieces from  orderproduct group by product_id)a
left join selectTC b on a.product_id=b.product_id

解决方案 »

  1.   

    select product_id=a.product_id,pieces=a.pieces-b.pieces
    from (select product_id,pieces=sum(pieces) from orderproduct group by product_id)a
    left join selectTC b on a.product_id=b.product_id
      

  2.   

    Select a.product_id,sum(a.pieces-IsNULL(b.pieces,0)) as pieces
    from orderproduct as a Left Join selectTC as b
         on a.product_id=b.product_id
    group by a.product_id
      

  3.   

    加isnull()select product_id=a.product_id,pieces=a.pieces-isnull(b.pieces,0)
    from (select product_id,pieces=sum(pieces) from orderproduct group by product_id)a
    left join selectTC b on a.product_id=b.product_id
      

  4.   

    select a.id,(a.pieces-isnull(b.pieces,0))as pieces from 
    (select  product_id,sum(pieces)as pieces from  orderproduct group by product_id)a
    left join selectTC b on a.product_id=b.product_id
      

  5.   

    select a.product_id,(a.pieces-isnull(b.pieces,0))as pieces from 
    (select  product_id,sum(pieces)as pieces from  orderproduct group by product_id)a
    left join selectTC b on a.product_id=b.product_id
      

  6.   

    select product_id=a.product_id,pieces=a.pieces-b.pieces
    from (select product_id,pieces=sum(pieces) from orderproduct 
           group by product_id)a
    left join (select product_id,pieces=sum(pieces) 
               from selectTC group by product_id)b 
    on a.product_id=b.product_id
      

  7.   

    谢谢各位,
    但是都无法实现我想要的功能,因为在SelectTC表中也会有重复的product_id 
    LBYYBL(o_o)语句是若selectTC中有重复的product_id,则无法统计.
    chd2001 的语句是若orderproduct中不包含selectTC中的product_id,则其对应的pieces值为空.
    谢谢大家,还有没有更加完美的?