为什么会有数据缺失的情况

image.png

这里单独查询是有数据的,如图,为什么联合起来数据就缺失了

image.png

语句如下:

select  sds.cInvCode as 存货编码,sds.cfree1 as 色号, sum(sds.iQuantity) as 销售订单数量, sum(sds.iFHQuantity )as 累计发货数量,sum(sds.iQuantity) - sum(sds.iFHQuantity ) as 销售订单未开单数量 ,sds.cInvName as 存货名称 into ##tmp3

from SO_SOMain sm

left join SO_SODetails sds

on sm.id=sds.ID --销售订单主表/子表 数据正确

where sm.dclosedate is null 

group by sds.cInvCode,sds.cfree1 ,sds.cInvName

select  sum(dls.fOutQuantity) as 总累计出库数量,dls.cinvcode as 存货编码,dls.cfree1 as 色号,dls.cinvname as 存货名称 into ##tmp1

from DispatchLists dls

left join SO_SODetails sds 

on dls .cSoCode=sds.cSOCode

left join SO_SOMain sm

on sm.ID=sds.ID

where dls.cordercode is not null and  sm.dclosedate is null --订单未关闭以及销售订单不为空

group by dls.cinvcode , dls.cfree1 ,dls.cinvname --发货单表

select * from ##tmp3

left join ##tmp1 

on ##tmp3.存货名称=##tmp1.存货名称 and ##tmp3.色号=##tmp1.色号

image.png

image.png 

zhangjinrui 发布于 2021-11-10 08:49 (编辑于 2021-11-10 09:34)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
axingLv6专家互助
发布于2022-5-7 00:12

你的色号是null值,用=号连接不了,所以最终数据缺失了

image.png

image.png

最佳回答
0
北纬六十六度Lv4初级互助
发布于2021-11-10 08:53

把条件一个一个去掉,看看是哪个条件过滤了数据

最佳回答
0
吾姓独孤Lv6高级互助
发布于2021-11-10 08:53

你这个字段也展示出来看看,是不是这个条件应该在on后面的

image.png

  • zhangjinrui zhangjinrui(提问者) 展示了,这个字段的意思订单关闭日期,我想要没有关闭的订单的里面的数量
    2021-11-10 08:57 
最佳回答
0
shinger@126.comLv2见习互助
发布于2022-5-7 11:36

别用全局临时表,就是带2个#的临时表,并发时会很容易报错的。全局临时表,基本上没有什么情况下会必须要用全局临时表的。比如你这个查询,在用户A执行,并且没有断开数据库连接的时候,用户B也执行了这个查询,就会提示对象##tmp1已存在

  • 5关注人数
  • 410浏览人数
  • 最后回答于:2022-5-7 11:36
    请选择关闭问题的原因
    确定 取消
    返回顶部