Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

求助,一个表按照另外一个表的条件展开多行数据,每行的数据需要计算

SeeverJuast  发表于:2018-04-07 08:41:43  
复制

点击下载此附件

求各位大神帮帮忙,具体场景是这样的:

1-我们有一类产品,是要分颜色的,但是每种颜色的比例是固定的,所以我们的生产排程最开始安排的时候就没有分颜色,就是数据中的订单排程不分颜色;
2-固定的颜色比例放置在颜色比例那个表,在实际场景中,qty表示比例数,例如:10C002的红色:绿色:白色=1:1:1,sumqty表示总份额;
3-这两个基础表都是从ERP导出来的,所以数据结构是比较固定的;
4-想通过这两个表得到查询表按颜色分配表,其中会看到有小数的情况,我的思路是,假如有4个颜色,那么前3个颜色,按照总数*qty/sumqty并取整数,然后最后1个数量为总数-前面3个的数量,这样就能够使分配出来的数量加起来得到总数;

请大家帮忙看看要如何解决,感谢!

1-我们有一类产品,是要分颜色的,但是每种颜色的比例是固定的,所以我们的生产排程最开始安排的时候就没有分颜色,就是数据中的订单排程不分颜色;
2-固定的颜色比例放置在颜色比例那个表,在实际场景中,qty表示比例数,例如:10C002的红色:绿色:白色=1:1:1,sumqty表示总份额;
3-这两个基础表都是从ERP导出来的,所以数据结构是比较固定的;
4-想通过这两个表得到查询表按颜色分配表,其中会看到有小数的情况,我的思路是,假如有4个颜色,那么前3个颜色,按照总数*qty/sumqty并取整数,然后最后1个数量为总数-前面3个的数量,这样就能够使分配出来的数量加起来得到总数;

请大家帮忙看看要如何解决,感谢!

 

Top
MDZZ 发表于:2018-04-07 09:18:27
SELECT 订单排程不分颜色.*, 颜色比例.颜色, [数量]*[qty]/[sumqty] AS 分配数量
FROM 订单排程不分颜色 RIGHT JOIN 颜色比例 ON (订单排程不分颜色.品名 = 颜色比例.品名) AND (订单排程不分颜色.料号 = 颜色比例.料号)




SeeverJuast 发表于:2018-04-07 09:30:50
这样的计算方式就是有问题,比如我的总数是5000,然后我又5个颜色比例分别是1:3:2:3:2,这样通过那样的计算,每个颜色的数量和就不等于5000了,我想的方法是前面4个颜色按照比例计算,最后一个颜色的数量=5000-前4个颜色的数量和,但是难点在我的颜色有可能是1,2,3,4,5,6,7,等等,不是固定的颜色种数

MDZZ 发表于:2018-04-07 09:33:22
那查询很难实现  用记录集写把

SeeverJuast 发表于:2018-04-07 09:37:14
就是不太会这个

SeeverJuast 发表于:2018-04-07 09:41:55
这个复杂吗?刚学几天,记录集还不太懂

总记录:5篇  页次:1/1 9 1 :