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相关推荐

  1. SQL 根据汉字获取全拼

    代码   1 /*   2  SQL 根据汉字获取全拼(有些字还没有添加上去,请自已加上去,涂聚文注)   3  1.生成所有读音临时表   4  2.根据Chinese_PRC_CS_AS_KS_W ...

  2. SQL数据库不用SQL语句能显示全表的内容_阿里巴巴数据库分库分表的实践

    在2006年阿里巴巴B2B团队以开源方式研发了Cobar这一关系型数据的分布式处理系统.该系统在很大程度上解决了最初使用Oracle数据库因为存储数据变得越来越大带来的扩展性问题,并且为开发人员提供了 ...

  3. VB访问SQL Server数据库技术全揭密

    VB访问SQL Server数据库技术全揭密 2006-08-03 05:00作者:出处:电子技术责任编辑:方舟 摘 要: 本文讨论了Visual Basic应用程序访问SQL Server数据库的几 ...

  4. linux安装nginx1.21.1全教程(含安装包)

    linux在线安装nginx1.21.1全教程(含安装包) 大家好,我是酷酷的韩金群~ 1.检查是否已安装nginx find -name nginx 如果系统已安装nginx,那么卸载: yum r ...

  5. Sql递归(用with 实现递归查询)

    1.递归原理(摘自网上) 递归CTE最少包含两个查询(也被称为成员).第一个查询为定点成员,定点成员只是一个返回有效表的查询,用于递归的基础或定位点.第二个查询被称为递归成员,使该查询称为递归成员的是 ...

  6. 零点城市社交电商 2.1.7.4 独立版 全开源 含前后端VUE文件 全插件

    零点城市社交电商 2.1.7.4 独立版 全开源 含前后端VUE文件 全插件 前言 产品介绍 开发语音 获取源码 前言 零点城市社交电商最新版,独立版+前后端VUE+全开源+全插件,持续更新中,完美使 ...

  7. linux mysql5.7.36 离线安装使用全教程(含安装包)

    linux mysql5.7.36 离线安装使用全教程(含安装包) 大家好,我是酷酷的韩~ 1.前期准备: mysql版本5.7.36 百度网盘下载地址如下: 内含 mysql-5.7.36-linu ...

  8. Oracle DBA的SQL编写技能提升宝典(含SQL资源)

    点击上方"蓝字" 关注我们,享更多干货! 8月5日 ,云和恩墨高级技术顾问范计杰老师,在墨天轮上分享了<经典知识库:Oracle DBA的SQL编写技能提升宝典>的直播 ...

  9. ROS中阶笔记(一):机器人系统设计—ROS系统下连接外部传感器

    ROS中阶笔记(一):机器人系统设计-ROS系统下连接外部传感器 文章目录 01 连接摄像头 1.1 ROS下连接usb_cam 1.1.1 前期准备 1.1.2 问题 1.1.3 安装usb_cam ...

最新文章

  1. 2018年爱奇艺校招笔试
  2. R语言ggplot2可视化移除图例中的a字符实战
  3. 2022年你应该知道的机器学习算法
  4. SAP MM 供应商Rebate中的财务配置
  5. web网页获取,cookie 的管理,post和get方式的模拟。
  6. managedwifi.codeplex.com
  7. 【后缀自动机】SPOJ 1812-LCSII
  8. 生产环境子域降级记录
  9. 日本比中国快一个小时,泰国比中国慢一个小时
  10. Boost:Boost概念的function_requires()的测试程序
  11. 牛客网暑期ACM多校训练营(第三场)
  12. Android移动应用基础教程【使用内容提供者共享数据】
  13. 【教程】Edraw Max使用教程:Edraw Max快速入门指南
  14. 霍尼236主机说明书_霍尼韦尔236系统中文说明.DOC
  15. 2018年工商银行软件开发中心面试经历
  16. 垃圾回收器CMS和G1
  17. linux查看无线网卡漫游,linux 无线命令
  18. Glyphs 3 for mac(字体设计软件)
  19. Dynamics 365 批量删除记录
  20. C/C++中,数组作为函数参数传入

热门文章

  1. 黑客教父龚蔚:是谁打开了潘多拉的魔盒
  2. STM32CubeMX时钟配置详细说明-HSE LSE的区别PLL
  3. JVM垃圾回收GarbageCollect
  4. python模块之HTMLParser简介
  5. 挑战52天背完小猪佩奇(第01天)
  6. 基于微信小程序的高校餐厅食品留样管理系统设计与实现-计算机毕业设计源码+LW文档
  7. WIN10下共享文件,无密码访问,共享打印机,与XP共享文件。
  8. HTML中img实现点击功能
  9. C++元编程实现数组全排列
  10. 亚马逊AWS进入中国