| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 550 人关注过本帖
标题:left join 重复计算
取消只看楼主 加入收藏
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
结帖率:100%
收藏
已结贴  问题点数:40 回复次数:3 
left join 重复计算
原始表如下:需要的关键字段有两个:订单编号、物料编码,下面三张表是不同统计口径,po:销售订单   ck:销售出库单    fp:销售发票。
select t1.po,t1,pn,sum(t1.qty)poqty,sum(t2.qty)ckqty,sum(t3.qty)fpqty from po t1 left join ck t2 on t1.po =t2.po and t1.pn =t2.pn left join fp t3 on t1.po =t3.po and t1.pn =t3.pn
上面这个代码计算出来的结果为:
po                pn           poqty    ckqty    fpqty
FH201403-001    A01.32.001070    920    344    320

这个结果很明显错误,正确的应该如下:
po                pn           poqty    ckqty    fpqty
FH201403-001    A01.32.001070    184    184    160

请问有木有具体解决方法,谢谢。


*下面是三张表。
po        
po                  pn            qty
FH201403-001    A01.32.001070       184
        
        
ck        
po                  pn            qty
FH201403-001    A01.32.001070       32
FH201403-001    A01.32.001070       128
FH201403-001    A01.32.001070       24
        
fp        
po                  pn            qty
FH201403-001    A01.32.001070       32
FH201403-001    A01.32.001070       128
搜索更多相关主题的帖子: 关键字 统计 
2014-05-25 16:11
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
收藏
得分:0 
刚才问度娘要了这个方法,请帮忙看看是不是满足了条件,会不会有其他的错误?,谢谢。

SELECT t1.date,t1.po,t1.kh,t1.ln,t1.pn,t1.qty,t2.ckqty,t3.fpqty FROM xspo t1 LEFT JOIN (sele xsck.po,xsck.ln,xsck.pn,SUM(xsck.qty)ckqty,SUM(IIF(xsck.date >=bgtime AND xsck.date<=endtime,xsck.qty,0))bqckqty FROM xsck GROUP BY 1,2,3 ) t2 ON t1.po =t2.po AND t1.ln =t2.ln AND t1.pn =t2.pn  LEFT JOIN  (sele xsfp.po,xsfp.ln,xsfp.pn,SUM(xsfp.qty)fpqty,SUM(IIF(xsfp.date >=bgtime AND xsfp.date<=endtime,xsfp.qty,0))bqfpqty FROM xsfp GROUP BY 1,2,3) t3 ON t1.po =t3.po AND t1.ln =t3.ln AND t1.pn =t3.pn
2014-05-25 16:42
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
收藏
得分:0 
谢谢
2014-05-26 13:40
hyz00001
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:137
注 册:2012-10-5
收藏
得分:0 
签到加粉
2014-05-27 08:37
快速回复:left join 重复计算
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028476 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved