以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- union 结果集问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=103928) |
-- 作者:Springamy -- 发布时间:2017/7/19 19:35:00 -- union 结果集问题 如图:下面的sql 的出来的结果有的减掉出库了有的没有减掉,原因是不是 先执行里面的入库 - 出库,得出的数据有负数,因为有的数据 是在期初表中减掉的 然后入库 - 出库 = 数据 跟 期初表 un ion all, 没有减掉数据? 是不是要先执行 期初 + 入库(写在最里面),然后 - 出库 (写在外边),才能得出正确的数据
select * fr om (select 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码, su m(条码数量) as 库存 fro m (select 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码,su m(数量) as 条码数量 fro m 期初表 wh ere qcid = 10 gro up by _Identify,qcid,入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码 un ion all select 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码,su m(数量) as 条码数量 fr om (select * fr om 入库条码明细) as a left join 入库表 on a.rkid = 入库表._identify wh ere 入库日期 >\'6/30/2017\'and 入库日期<=\'7/19/2017\' grou p by 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码 uni on all select 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码,-数量 fro m (select * fro m 出库条码明细) as a left join 出库表 on a.ckid = 出库表._identify wh ere 出库日期 <=\'7/19/2017\'And 出库日期 > \'6/30/2017\') as c gro up by 入库日期,采购合同号,产品线,库存类型,仓库属性,BOM编码,产品型号,仓库地点,条码) as e
|
-- 作者:有点甜 -- 发布时间:2017/7/19 19:58:00 -- 1、union all 的时候,不需要根据那么多列分组,直接根据条码分组即可。 如
select 条码,sum(数量) as 条码数量 from 期初表 where qcid = 10 group by 条码
2、最后如果需要条码的各个信息,可以最后连接其余的表进行查询。 |