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 状态,商品
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
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 状态,商品
from 库存表 a
left join 临时表 b on a.商品编码 = b.商品编码
where a.数量 - IsNull(b.数量,0) <> 0