(select date(a.claim_time) as date, a.lot_id, a.lot_type,a.mainpd_id,a.prodspec_id,a.custprod_id, case when(date(b.created_time) <= '2009-01-05') then b.created_time + 21 days else b.created_time end as created_time, CASE WHEN A.CUST_id in ('MCA','NPA','SET') THEN a.COMPLETE_TIME ELSE a.COMPLETE_TIME END COMPLETE_TIME, a.cust_id as customer_id, a.ope_category, c.layer From f3rpt.F3_TB_DAILY_FABOUT a, f3rpt.fvlot b, (select mainpd_id, sum(masks)layer from f3rpt.ASMCRPT_VW_MAINPD_MASKS_ALL group by mainpd_id) as c, (select * from (select lot_id, max(claim_time)claim_time, count(case when(ope_category='Ship')then lot_id else null end) as LS, count(case when(ope_category='Unship') then lot_id else null end) as LUS from f3rpt.F3_TB_DAILY_FABOUT where substr(lot_id,1,2) not in('CA','CW','ES','E0','EM') and lot_type = 'Production' AND LOT_ID NOT LIKE 'H%' and substr(lot_id,7,4)='.00F' and ope_category in ('Ship','Unship') and year(claim_time) = year(current date - 1 days) and month(claim_time) = month(current date - 1 days) group by lot_id) as a where LS - LUS > 0 ) as lot Where a.lot_id = b.lot_id and b.mainpd_id = c.mainpd_id and a.lot_id = lot.LOT_ID and a.claim_time = lot.claim_time and a.ope_category = 'Ship' and a.cust_id in ('SM','BOE','GSC','NPA','GTA') ) as lot_hs 以上嵌套子查询,请拆分下

时间: 2024-02-14 14:12:01 浏览: 21
面的嵌套子查询,以便更好地理解和优化该查询。 首先,最外层的查询选择了一些列并从其他查询中选择了一些数据,其中最重要的是日期、批次ID、批次类型、主产品ID、产品规格ID、客户产品ID、创建时间、完成时间、客户ID、操作类别和层。这些信息都是从其他查询中获取的。 接下来,我们来看第一个子查询: ``` select mainpd_id, sum(masks)layer from f3rpt.ASMCRPT_VW_MAINPD_MASKS_ALL group by mainpd_id ``` 该子查询从 `f3rpt.ASMCRPT_VW_MAINPD_MASKS_ALL` 表中获取主产品ID和层信息,并将其按主产品ID分组。 接下来是第二个子查询: ``` select lot_id, max(claim_time)claim_time, count(case when(ope_category='Ship')then lot_id else null end) as LS, count(case when(ope_category='Unship') then lot_id else null end) as LUS from f3rpt.F3_TB_DAILY_FABOUT where substr(lot_id,1,2) not in('CA','CW','ES','E0','EM') and lot_type = 'Production' AND LOT_ID NOT LIKE 'H%' and substr(lot_id,7,4)='.00F' and ope_category in ('Ship','Unship') and year(claim_time) = year(current date - 1 days) and month(claim_time) = month(current date - 1 days) group by lot_id ``` 该子查询从 `f3rpt.F3_TB_DAILY_FABOUT` 表中获取批次ID、要求时间、已发运批次数和未发运批次数,并将其按批次ID分组。该子查询还应用了一些过滤条件,例如要求时间在特定日期之前、批次类型为生产、批次ID不以特定字符串开头等。 最后,最外层的查询将这些子查询组合在一起,并应用了一些其他过滤条件,例如操作类别为发运、客户ID为特定值等。 拆分这个查询的好处是,可以更好地理解每个子查询的作用和结果,并且可以更容易地对查询进行优化,例如通过添加索引来提高性能。

相关推荐

select lot_hs.lot_id as lot_id,lot_type,lot_hs.mainpd_id, created_time,COMPLETE_TIME, value(bank.banktime,0) as banktime , round ( ( 1.00*(days(COMPLETE_TIME)-days(created_time)) + (hour(COMPLETE_TIME)-hour(created_time))*1.00/24 + (minute(COMPLETE_TIME)-minute(created_time))*1.00/24/60 + (second(COMPLETE_TIME)-second(created_time))1.00/24/60/60) - value(bank.banktime,0),3) as use_days, customer_id, coalesce(cc.cust_id_define,lot_hs.customer_id) as cust_id2, cc.cycletime_target as ct_target, date,layer, round(count() over(partition by coalesce(cc.cust_id_define,lot_hs.customer_id),cc.cycletime_target)*0.9,0) cnt, row_number() over(partition by coalesce(cc.cust_id_define,lot_hs.customer_id),cc.cycletime_target order by ( ( days(COMPLETE_TIME)-days(created_time) + (hour(COMPLETE_TIME)-hour(created_time))*1.00/24 + (minute(COMPLETE_TIME)-minute(created_time))*1.00/24/60 + (second(COMPLETE_TIME)-second(created_time))*1.00/24/60/60) - value(bank.banktime,0))/layer) id From (select date(a.claim_time) as date, a.lot_id, a.lot_type,a.mainpd_id,a.prodspec_id,a.custprod_id, case when(date(b.created_time) <= '2009-01-05') then b.created_time + 21 days else b.created_time end as created_time, CASE WHEN A.CUST_id in ('MCA','NPA','SET') THEN a.COMPLETE_TIME ELSE a.COMPLETE_TIME END COMPLETE_TIME, a.cust_id as customer_id, a.ope_category, c.layer From f3rpt.F3_TB_DAILY_FABOUT a, f3rpt.fvlot b, (select mainpd_id, sum(masks)layer from f3rpt.ASMCRPT_VW_MAINPD_MASKS_ALL group by mainpd_id) as c, (select * from (select lot_id, max(claim_time)claim_time, count(case when(ope_category='Ship')then lot_id else null end) as LS, count(case when(ope_category='Unship') then lot_id else null end) as LUS from f3rpt.F3_TB_DAILY_FABOUT where substr(lot_id,1,2) not in('CA','CW','ES','E0','EM') and lot_type = 'Production' AND LOT_ID NOT LIKE 'H%' and substr(lot_id,7,4)='.00F' and ope_category in ('Ship','Unship') and year(claim_time) = year(current date - 1 days) and month(claim_time) = month(current date - 1 days) group by lot_id) as a where LS - LUS > 0 ) as lot Where a.lot_id = b.lot_id and b.mainpd_id = c.mainpd_id and a.lot_id = lot.LOT_ID and a.claim_time = lot.claim_time and a.ope_category = 'Ship' and a.cust_id in ('SM','BOE','GSC','NPA','GTA') ) as lot_hs left outer join (select lot_id,max(bankin_time) banktime from f3rpt.asmc_dpm where bankin_time>0 group by lot_id) bank on (lot_hs.lot_id = bank.lot_id) left join f3cim.f3cim_cfg_cust_rule cc on case when lot_hs.customer_id='WXM' THEN 'WII'||SUBSTR(lot_hs.mainpd_id,6,1) else lot_hs.customer_id end = cc.cust_id and locate(cc.mainpd_id,lot_hs.mainpd_id)>0 and locate(cc.prodspec_id,lot_hs.prodspec_id)>0 and locate(cc.custprod_id_45,substr(lot_hs.custprod_id,3,3))>0 where lot_hs.ope_category = 'Ship' ;以上sql如何优化

优化这个sql select FLOW_COMMON.c_business_id as business_id, (select max(f.end_time) from flow_hi_track f where f.business_id = FLOW_COMMON.c_business_id and f.action_type != 'CLAIM' ) as deal_time from template_flow_common FLOW_COMMON right join template_hollycrm1680160914000 hollycrm1680160914000 on FLOW_COMMON.c_business_id = hollycrm1680160914000.c_business_id where FLOW_COMMON.tenant_id = 'T000' and FLOW_COMMON.valid = 1 and lower(FLOW_COMMON.c_state) != 'draft' and ( ( FLOW_COMMON.c_flow_id in ('FLOW20230330152148238756') and (FLOW_COMMON.c_processing_group in ('1650685461842100265') ) or FLOW_COMMON.c_cur_assignee = '1639203916409208891' ) or FLOW_COMMON.c_creator = '1639203916409208891' or FLOW_COMMON.c_flow_id in ('FLOW20230330152148238756') or FLOW_COMMON.c_business_id in ('1650765461521956870', '1650765461521956870', '1650817085812506712', '1650831863482155082', '1654094763571281921', '1654001405104488514', '1654294361434751036', '1654445890410119245', '1654441313937915946', '1654433554383241232', '1653329109050196051', '1655380751421538376', '1655380751421538376', '1654732194700066894', '1654765190966673497', '1655862681678118938', '1654732194700066894', '1654732194700066894', '1654732194700066894', '1654441313937915946', '1656855682290286598', '1654732194700066894', '1654732194700066894', '1654732194700066894', '1656106327421747261') or (FLOW_COMMON.c_processing_group in ('1650685461842100265')) ) and FLOW_COMMON.c_workorder_type = 'C0018' and FLOW_COMMON.c_business_type = 'C00180008,C001800080001,C0018000800010001' LIMIT 572540,10;

SELECT CS.CLAIMS_ID, CE.LONG_NAME CORPORATENAME, CS.PATIENT_NAME, CS.EMPLOYEE_NAME,CS.DEPARTMENT,E.SUBSIDIARY ,E.BRANCH, CS.ADMISSION_DATE, CS.DISCHARGEABLE_DATE , CS.PROVIDER_NAME, CS.PANEL_PROVIDER, TRIM(DS.ICD_CODE)||', '||DS.DESCRIPTION DIAGNOSISNAME, CS.MC_TAKEN_DAY ,CR.DESCRIPTION COVERAGE_DESCRIPTION, SD2.FDESC CLAIMTYPE,CS.REMARKS, CS.DUE_TOTAL, CS.PAID_TO_CLAIMANT, CS.PAID_BY_CLAIMANT, CS.AUTHORIZATION_CODE, CS.SERVICE_DATE,CS.RECORD_NO,CS.SUB_RECORD_NO,CS.PLAN_ID,CS.TRANSMISSION_DATE,CS.CLAIMS_REC_DATE, CS.CLAIMS_STATUS ,CS.APPROVED_BY, CS.HOSP_INVOICE_NO, CS.TERMINAL_ID, CS.TERMINAL_TYPE, CS.DEDUCTIBLE,CS.POLICY_NO,CS.PAYEE_NAME,CS.CARD_NO, CS.DOCRCV_BY, CS.CENTRE_CODE ,CS.DOCUMENT_NO,CS.MRN , NVL((SELECT UPLDT FROM (SELECT UPLDT FROM SYT_ATTACHDOC LD WHERE TO_NUMBER(TRIM(LD.KEY1))=CS.CLAIMS_ID AND LD.MATERIAL_TYPE IN('申诉材料','补充材料','调查材料') AND ROWNUM<2 ORDER BY UPLDT DESC) WHERE ROWNUM<2),CS.SERVICE_DATE) AS LAST_DOCUMENT_RECEIVED_DATE FROM CLAIMS CS, CORPORATE CE, COVERAGE_MASTER CR, SYC_REFCD SD1, SYC_REFCD SD2, DIAGNOSIS DS , EMPLOYEE E WHERE CS.COVERAGE_ID = CR.COVERAGE_CODE AND CS.CORPORATE_CODE = CE.CORP_CODE AND CS.PRIMARY_DIAGNOSIS = DS.ICD_CODE AND CS.CLAIM_TYPE = SD1.REFCD AND CS.CARD_NO = E.CARD_NO AND SD1.VAR1 = SD2.REFCD AND SD1.MODID = 'ES' AND SD1.REFGRP = 'CLAIMTYP' AND SD2.MODID = 'ES' AND SD2.REFGRP = 'CLAIM_APPLICABLE' AND CS.PLAN_ID!='TEST-2023-GLOBAL-PLAN-DEMO' AND (CS.PAYOR_CODE,CS.CENTRE_CODE) IN (SELECT SYFIELD(STNCD,'*',1,1), SYFIELD(STNCD,'*',2,1) FROM SYM_USRSTN WHERE USRID='SYSTEM' AND STNTYP IN ('PC')) AND (CS.CORPORATE_CODE IN (SELECT STNCD FROM SYM_USRSTN WHERE USRID='SYSTEM' AND STNTYP IN ('PY','CO')) OR (CS.PAYOR_CODE,CS.CENTRE_CODE) IN (SELECT SYFIELD(STNCD,'*',1,1), SYFIELD(STNCD,'*',2,1) FROM SYM_USRSTN WHERE USRID='SYSTEM' AND STNTYP IN ('PC'))) AND CS.CLAIMS_REC_DATE>=TO_DATE('1999-01-01','yyyy-MM-dd') AND CS.CLAIMS_REC_DATE<TO_DATE('2099-01-01','yyyy-MM-dd')+1

最新推荐

recommend-type

node-v0.8.10-sunos-x64.tar.gz

Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
recommend-type

【课程设计】实现的金融风控贷款违约预测python源码.zip

【课程设计】实现的金融风控贷款违约预测python源码.zip
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

SPDK_NVMF_DISCOVERY_NQN是什么 有什么作用

SPDK_NVMF_DISCOVERY_NQN 是 SPDK (Storage Performance Development Kit) 中用于查询 NVMf (Non-Volatile Memory express over Fabrics) 存储设备名称的协议。NVMf 是一种基于网络的存储协议,可用于连接远程非易失性内存存储器。 SPDK_NVMF_DISCOVERY_NQN 的作用是让存储应用程序能够通过 SPDK 查询 NVMf 存储设备的名称,以便能够访问这些存储设备。通过查询 NVMf 存储设备名称,存储应用程序可以获取必要的信息,例如存储设备的IP地址、端口号、名称等,以便能
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依
recommend-type

实现实时监控告警系统:Kafka与Grafana整合

![实现实时监控告警系统:Kafka与Grafana整合](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy9BVldpY3ladXVDbEZpY1pLWmw2bUVaWXFUcEdLT1VDdkxRSmQxZXB5R1lxaWNlUjA2c0hFek5Qc3FyRktudFF1VDMxQVl3QTRXV2lhSWFRMEFRc0I1cW1ZOGcvNjQw?x-oss-process=image/format,png) # 1.1 Kafka集群架构 Kafka集群由多个称为代理的服务器组成,这
recommend-type

Windows 运行Python脚本

要在 Windows 上运行 Python 脚本,你需要先安装 Python。可以从官网下载 Python 安装包并按照提示进行安装。安装完成后,就可以在命令行中输入 `python` 命令,进入 Python 解释器环境。 接着,你可以编写 Python 脚本,保存为 `.py` 后缀的文件。在命令行中进入脚本所在的目录,输入 `python script.py` 命令来运行脚本。其中 `script.py` 是你的脚本文件名。 如果你想在 Windows 上运行一个 Python 程序,但不想打开命令行窗口,可以将脚本文件拖动到 Python 可执行文件 `python.exe` 上,