当前位置: 代码迷 >> Sql Server >> 计算后再显示结果,这个该如何写
  详细解决方案

计算后再显示结果,这个该如何写

热度:49   发布时间:2016-04-24 09:05:06.0
计算后再显示结果,这个该怎么写?
表1:库存

物品编码          数量
001                    50
002                    66
003                    30
004                    45
005                    78



表2:出库

物品编码          数量          状态
002                    3                    已完成
001                    5                    已完成
004                    6                    已完成
003                    10                    未出库
001                    2                      未出库
003                    1                      未出库
005                    4                      未出库
004                    8                      未出库
003                    5                      未出库
002                    22                    未出库



想得到的查询结果:库存表减去出库表中对应“物品编码”的“未出库”的数量

即:查询结果,预计出库后的库存量

物品编码          数量
001                    48
002                    44
003                    14
004                    37
005                    74


请教该如何写?
------解决思路----------------------
写了两个没法测试,楼主参考下
select 物品编码,sum(数量) AS 数量 from (
select 物品编码,数量 from 库存
union all
select 物品编码,-数量 from 出库 where 状态='未出库'
) a group by 物品编码

select 物品编码, 数量-isnull(出库数量,0) AS 数量
from 库存 a left join
( select 物品编码,sum(数量) AS 出库数量 from 出库
where 状态='未出库' group by 物品编码) b
on a.物品编码=b.物品编码
  相关解决方案