【SQL】递归展BOM全阶,含半成品,用量累乘,如半成品用量2,下阶用量需要乘以2
TIPTOP 展BOM含层级---方法1
WITH t AS ( SELECT SYS_CONNECT_BY_PATH(a.bmb01,'|')||'|'||a.bmb03||'|' as path
,SYS_CONNECT_BY_PATH(a.bmb06,'|')||'|' as qty_path,bmb06,bmb10,BMB01,LEVEL AS lev
FROM bmb_file a
START WITH a.bmb01 ='1302302'
AND a.bmb04 <= sysdate AND (a.bmb05 > sysdate or a.bmb05 is null)
CONNECT BY a.bmb01 = PRIOR a.bmb03 AND a.bmb04 <= sysdate AND (a.bmb05 > sysdate or a.bmb05 is null)
ORDER BY LEVEL
)
SELECT '1',G_CODE_CP,lev,G_CODE_LJ,bmb01,SUM(DEC_CM) AS DEC_CM
FROM (SELECT SUBSTR(path,2,INSTR(path,'|',1,2)-INSTR(path,'|',1,1)-1) as G_CODE_CP
,SUBSTR(path,INSTR(path,'|',-1,2)+1,INSTR(path,'|',-1,1)-INSTR(path,'|',-1,2)-1) as G_CODE_LJ
,(SELECT EXP(SUM(LN(SUBSTR(qty_path,INSTR(qty_path,'|',1,rn)+1,INSTR(qty_path,'|',1,rn+1)-INSTR(qty_path,'|',1,rn)-1))))
FROM (SELECT ROWNUM RN FROM DUAL CONNECT BY ROWNUM<=100)
WHERE SUBSTR(qty_path,INSTR(qty_path,'|',1,rn)+1,INSTR(qty_path,'|',1,rn+1)-INSTR(qty_path,'|',1,rn)-1) IS NOT NULL
) AS DEC_CM,bmb10,BMB01,lev FROM t )
LEFT OUTER JOIN ima_file a on a.ima01 =G_CODE_CP
LEFT OUTER JOIN ima_file b on b.ima01 =G_CODE_LJ
GROUP BY G_CODE_CP,bmb10,G_CODE_LJ,BMB01,lev
ORDER BY lev
TIPTOP 阶层处理
TIPTOP---方法2
---方法2 仅尾阶
WITH TB1 AS(
SELECT DISTINCT bmb01, bmb02, bmb03,BMB04,BMB05,bmb06, bmb07, bmb06/bmb07,bmb10, bmb19FROM (select * from bmb_file WHERE bmb04 <= sysdate ---必须先加条件排除,否则可能出现失效的料号AND (bmb05 IS NULL or bmb05 > sysdate))WHERE bmb04 <= sysdateAND (bmb05 IS NULL or bmb05 > sysdate)CONNECT BY PRIOR bmb03 = bmb01START WITH bmb01 = '1302302' ORDER BY bmb01
)
SELECT DISTINCT BMB01, BMB03 FROM TB1 WHERE BMB03 NOT IN (SELECT BMB01 FROM TB1 ) ORDER BY BMB03
T100展BOM
WITH t AS ( SELECT SYS_CONNECT_BY_PATH(a.bmba001,'|')||'|'||a.bmba003||'|' as path
,SYS_CONNECT_BY_PATH((a.bmba011/a.bmba012),'|')||'|' as qty_path,bmba011,bmba010
FROM bmba_t a
START WITH a.bmba001 =:ITEM and a.bmbaent=:ENT and bmbasite=:SITE
AND a.bmba005 <= sysdate AND (a.bmba006 > sysdate or a.bmba006 is null)
CONNECT BY a.bmba001 = PRIOR a.bmba003 AND a.bmba005 <= sysdate AND (a.bmba006 > sysdate or a.bmba006 is null) )SELECT G_CODE_CP,aa.imaal003,aa.imaal004,G_CODE_LJ,bb.imaal003,bb.imaal004,bmba010,SUM(DEC_CM) AS DEC_CM
FROM (SELECT SUBSTR(path,2,INSTR(path,'|',1,2)-INSTR(path,'|',1,1)-1) as G_CODE_CP
,SUBSTR(path,INSTR(path,'|',-1,2)+1,INSTR(path,'|',-1,1)-INSTR(path,'|',-1,2)-1) as G_CODE_LJ
,(SELECT EXP(SUM(LN(SUBSTR(qty_path,INSTR(qty_path,'|',1,rn)+1,INSTR(qty_path,'|',1,rn+1)-INSTR(qty_path,'|',1,rn)-1))))
FROM (SELECT ROWNUM RN FROM DUAL CONNECT BY ROWNUM<=100)
WHERE SUBSTR(qty_path,INSTR(qty_path,'|',1,rn)+1,INSTR(qty_path,'|',1,rn+1)-INSTR(qty_path,'|',1,rn)-1) IS NOT NULL
) AS DEC_CM,bmba010 FROM t )
left outer join imaal_t aa on aa.imaalent=:ENT and aa.imaal001=G_CODE_CP and aa.imaal002='zh_CN'
left outer join imaal_t bb on bb.imaalent=:ENT and bb.imaal001=G_CODE_LJ and bb.imaal002='zh_CN'
GROUP BY G_CODE_CP,aa.imaal003,aa.imaal004,bb.imaal003,bb.imaal004,bmba010,G_CODE_LJ;
引用: sql递归展BOM_四方木2021的博客-CSDN博客
【SQL】递归展BOM全阶,含半成品,用量累乘,如半成品用量2,下阶用量需要乘以2相关推荐
- SQL 根据汉字获取全拼
代码 1 /* 2 SQL 根据汉字获取全拼(有些字还没有添加上去,请自已加上去,涂聚文注) 3 1.生成所有读音临时表 4 2.根据Chinese_PRC_CS_AS_KS_W ...
- SQL数据库不用SQL语句能显示全表的内容_阿里巴巴数据库分库分表的实践
在2006年阿里巴巴B2B团队以开源方式研发了Cobar这一关系型数据的分布式处理系统.该系统在很大程度上解决了最初使用Oracle数据库因为存储数据变得越来越大带来的扩展性问题,并且为开发人员提供了 ...
- VB访问SQL Server数据库技术全揭密
VB访问SQL Server数据库技术全揭密 2006-08-03 05:00作者:出处:电子技术责任编辑:方舟 摘 要: 本文讨论了Visual Basic应用程序访问SQL Server数据库的几 ...
- linux安装nginx1.21.1全教程(含安装包)
linux在线安装nginx1.21.1全教程(含安装包) 大家好,我是酷酷的韩金群~ 1.检查是否已安装nginx find -name nginx 如果系统已安装nginx,那么卸载: yum r ...
- Sql递归(用with 实现递归查询)
1.递归原理(摘自网上) 递归CTE最少包含两个查询(也被称为成员).第一个查询为定点成员,定点成员只是一个返回有效表的查询,用于递归的基础或定位点.第二个查询被称为递归成员,使该查询称为递归成员的是 ...
- 零点城市社交电商 2.1.7.4 独立版 全开源 含前后端VUE文件 全插件
零点城市社交电商 2.1.7.4 独立版 全开源 含前后端VUE文件 全插件 前言 产品介绍 开发语音 获取源码 前言 零点城市社交电商最新版,独立版+前后端VUE+全开源+全插件,持续更新中,完美使 ...
- linux mysql5.7.36 离线安装使用全教程(含安装包)
linux mysql5.7.36 离线安装使用全教程(含安装包) 大家好,我是酷酷的韩~ 1.前期准备: mysql版本5.7.36 百度网盘下载地址如下: 内含 mysql-5.7.36-linu ...
- Oracle DBA的SQL编写技能提升宝典(含SQL资源)
点击上方"蓝字" 关注我们,享更多干货! 8月5日 ,云和恩墨高级技术顾问范计杰老师,在墨天轮上分享了<经典知识库:Oracle DBA的SQL编写技能提升宝典>的直播 ...
- ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器
ROS中阶笔记(一):机器人系统设计-ROS系统下连接外部传感器 文章目录 01 连接摄像头 1.1 ROS下连接usb_cam 1.1.1 前期准备 1.1.2 问题 1.1.3 安装usb_cam ...
最新文章
- 2018年爱奇艺校招笔试
- R语言ggplot2可视化移除图例中的a字符实战
- 2022年你应该知道的机器学习算法
- SAP MM 供应商Rebate中的财务配置
- web网页获取,cookie 的管理,post和get方式的模拟。
- managedwifi.codeplex.com
- 【后缀自动机】SPOJ 1812-LCSII
- 生产环境子域降级记录
- 日本比中国快一个小时,泰国比中国慢一个小时
- Boost:Boost概念的function_requires()的测试程序
- 牛客网暑期ACM多校训练营(第三场)
- Android移动应用基础教程【使用内容提供者共享数据】
- 【教程】Edraw Max使用教程:Edraw Max快速入门指南
- 霍尼236主机说明书_霍尼韦尔236系统中文说明.DOC
- 2018年工商银行软件开发中心面试经历
- 垃圾回收器CMS和G1
- linux查看无线网卡漫游,linux 无线命令
- Glyphs 3 for mac(字体设计软件)
- Dynamics 365 批量删除记录
- C/C++中,数组作为函数参数传入