以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教下两段SQL语句 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=48400) |
-- 作者:rjh4078 -- 发布时间:2014/3/28 9:58:00 -- 请教下两段SQL语句 我写了两段SQL语句 第一个:select Distinct 产品编号,产品名称,isnull(期初库存,0) as 期初库存,isnull((select sum(本次入库数量) from {生产入库单明细} b where a.产品编号=b.产品编号),0) as 累计入库 ,isnull((select sum(本次发货数量) from {销售发货单明细} b where a.产品编号=b.产品编号 ),0) as 累计出库,期初库存+累计入库-累计出库 as 可用库存 from {产品资料} a 执行的时候提示 列 累计入库 累计出库 无效
改成第二个:
select Distinct 产品编号,产品名称,isnull(期初库存,0) as 期初库存,isnull((select sum(本次入库数量) from {生产入库单明细} b where a.产品编号=b.产品编号),0) as 累计入库 ,isnull((select sum(本次发货数量) from {销售发货单明细} b where a.产品编号=b.产品编号 ),0) as 累计出库,isnull(期初库存,0)+isnull((select sum(本次入库数量) from {生产入库单明细} b where a.产品编号=b.产品编号),0)-isnull((select sum(本次发货数量) from {销售发货单明细} b where a.产品编号=b.产品编号 ),0) as 可用库存 from {产品资料} a
这个执行没有问题 我平时FILL的时候 都是直接用第一种方法中的(期初库存+累计入库-累计出库 as 可用库存)这种写法 没有发现问题啊 比较了下不同 就是FILL的时候 没有嵌套这么多SELECT语句 难道有什么讲究? 请教下大师给个指点
|
-- 作者:jspta -- 发布时间:2014/3/28 12:24:00 -- 期初库存+累计入库-累计出库 as 可用库存 后面的别名还没有生成,两者是并列的,改成 select 产品编号,产品名称,期初库存,累计入库 ,累计出库 ,期初库存+累计入库-累计出库 as 可用库存 from ( select Distinct 产品编号,产品名称,isnull(期初库存,0) as 期初库存,isnull((select sum(本次入库数量) from {生产入库单明细} b where a.产品编号=b.产品编号),0) as 累计入库 ,isnull((select sum(本次发货数量) from {销售发货单明细} b where a.产品编号=b.产品编号 ),0) as 累计出库 from {产品资料} a) as b
|
-- 作者:rjh4078 -- 发布时间:2014/3/28 16:55:00 -- 原来这样 谢了 |