select a.商品编码,a.数量 - IsNull(b.数量) as 差额
from 库存表 a
left join 临时表 b on a.商品编码 = b.商品编码
where a.数量 - IsNull(b.数量) <> 0

解决方案 »

  1.   


    select 商品
    ,状态=case when 结余>0 then '盘赢' else '盘亏' end
    ,结余=abs(结余)
    from(
    select 商品=isnull(a.商品,b.商品)
    ,结余=sum(isnull(b.数量,0)-isnull(a.数量))
    from 库存表 a full join 临时库存表 b on a.商品=b.商品
    group by isnull(a.商品,b.商品)
    ) a where 结余<>0
    order by 状态,商品
      

  2.   

    select a.商品编码,盈虧 = case when a.数量 - IsNull(b.数量,0)<0 then '盤盈' else '盤虧 end, abs(a.数量 - IsNull(b.数量,0) as 盈虧數量
    from 库存表 a
    left join 临时表 b on a.商品编码 = b.商品编码
    where a.数量 - IsNull(b.数量,0) <> 0
      

  3.   

    full join。账面上缺少记录,或者实盘中没有遇到,都不能少考虑。