当前位置:首页 > 技术心得 > 正文内容

BOM各层级计算真实用量

xjtudll4年前 (2022-01-30)技术心得7900

SELECT * FROM (

select 级别='1',A='A1',B='B1',用量='1',B真实用量='' UNION ALL
select 级别='2',A='B1',B='C1',用量='2',B真实用量='' UNION ALL
select 级别='3',A='C1',B='D1',用量='3',B真实用量='' UNION ALL
select 级别='3',A='C1',B='D2',用量='2',B真实用量='' UNION ALL
select 级别='3',A='C1',B='D3',用量='2',B真实用量='' UNION ALL
select 级别='3',A='C1',B='D4',用量='5',B真实用量='' UNION ALL
select 级别='4',A='D1',B='E1',用量='9',B真实用量='' UNION ALL
select 级别='4',A='D2',B='E2',用量='5',B真实用量='' ) #t
例如:
这里有 A1-B1-C1-D1-E1 要结果 A1-B1-C1-D1-E1
1 2 3 9 1 2 6 54
例如:
这里有 A1-B1-C1-D2-E2 要结果 A1-B1-C1-D2-E2
1 2 2 5 1 2 4 20
当级别高的行字段B等于级别低的行字段A时,将两行用量相乘放入低级别B字段对应的B真实用量中,若在一条流程里级别多了需要滚动相乘,如例子(级别数字越小级别越高)
要的结果如下:
0.3266298645016294

参考代码:

WITH CTE

AS

(SELECT *,QTY AS NEW_QTY FROM #T A

WHERE NOT EXISTS (SELECT 1 FROM #T WHERE LEVEL<A.LEVEL AND B=A.A)

UNION ALL

SELECT A.*,B.NEW_QTY*A.QTY

FROM #T A

JOIN CTE B ON A.A=B.B

WHERE A.LEVEL>B.LEVEL)

SELECT * FROM CTE

ORDER BY LEVEL,A

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/631/

标签: SQL
分享给朋友:

“BOM各层级计算真实用量” 的相关文章

Eclipse导入Android工程,出现default与Displaying的问题解决

Eclipse导入android工程时出现如下提示: [15:04:03 - XXX] 'default' is not a best match for any device/locale combination.  [ 15:04:03 - XXX] Displaying it wi...

php gettext无效解决

php gettext无效解决

 代码:$lang = 'en_US'; //linux不支持zh-Hans,所以gettext、php都不支持。使用locale -a可以看到os支持的语言文字国家地区码。putenv('LANGUAGE='&nbs...

Protel99SE恢复隐藏的Part Type

Protel99SE恢复隐藏的Part Type

相信这个问题大家或多或少碰到过,在用Protel99SE设计原理图的时候,隐藏了元件的Part Type属性,后来想恢复,却发现没辙了。Protel99SE里面确实没有直接的方法来恢复隐藏的Part Type,只能是曲线救国了。呵呵。 1、Tools->Preferences->Def...

金蝶K3 BOS单据 完整显示单据头

金蝶K3 BOS单据 完整显示单据头

进入到序时簿,格式->选项设置 以委外订单为例: 弹出选项设置窗口,不要勾选【合并同一张单据的表头项目】,最后点击【确定】按钮。...

OKI编译器路径设置及uEase驱动的安装

OKI编译器路径设置及uEase驱动的安装

1、OKI编译器系统路径的设置 OKI的编译器环境IDEU8默认是安装到C盘的。在安装时,若选择到其他盘,则在默认设置下无法编译成功,编译报错。原因是默认的路径都是在C盘,要解决这个问题,必须重新设置系统路径。 设置步骤:File -> Environment settings -> S...

ESD保护方法

ESD保护方法

为了给电子系统提供ESD保护,可以从不同的角度来着手。 一种方法是在半导体芯片内建ESD保护架构。不过,日趋缩小的CMOS芯片已经越来越不足以承受进行内部2 kV等级的ESD保护所需要的面积。 其次,也可以在物理电路设计方面下功夫,较敏感的电路元件应该尽量远离通孔或接缝处,如果可能的话,线缆连接...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。