--计划订单、预测单关联查询start-- SELECT --TOP 5000 t0.FID ,t0.FBILLNO ,t0.FBOMID ,t0.FMATERIALID --计划订单物料id ,t0_b.FSALEORDERID --需求单号id ,t0_b.FSALEORDERENTRYID --需求单号表体id ,t0_b.FSALEORDERENTRYSEQ --需求单号表体行号 ,t0.F_Linenumber '预测单行号#' ,t0_b.FSALEORDERNO '需求单号'--需求单号 ,t1.FBILLNO '预测单单号' ,t0.F_FORECASTNUMBER '预测单单号#' ,t1e.FCUSTID ,t0.F_CUSTOMERNAME ,t1e.FMATERIALID AS F_MATERIALCODE --预测单物料id ,t0.F_MATERIALCODE ,t0.F_SOURCE_ORDER_LINE_NUMBER ,t1e.F_SOURCE_ORDER_LINE_NUMBER --销售订单行号 ,t0.F_SOURCE_ORDER_NUMBER ,t1e.F_SOURCE_ORDER_NUMBER --销售订单单号# ,ISNULL(t1_l.FDESCRIPTION,'') AS F_DESCRIPTION --表头备注 ,t0_l.F_DESCRIPTION ,ISNULL(t1e_l.FDESCRIPTION,'') AS F_REMARK --表体备注 ,t0.F_REMARK FROM T_PLN_PLANORDER t0 INNER JOIN T_PLN_PLANORDER_B t0_b on t0.FID = t0_b.FID INNER JOIN T_PLN_PLANORDER_L t0_l on t0.FID = t0_l.FID INNER JOIN T_PLN_FORECAST t1 on t0_b.FSALEORDERID = t1.FID --预测单 LEFT JOIN T_PLN_FORECAST_L t1_l on t1_l.FID = t0_b.FSALEORDERID --预测单备注信息 INNER JOIN T_PLN_FORECASTENTRY t1e on t1e.FID = t0_b.FSALEORDERID AND t0_b.FSALEORDERENTRYID = t1e.FENTRYID --预测单表体 LEFT JOIN T_PLN_FORECASTENTRY_L t1e_l on t1e_l.FENTRYID = t0_b.FSALEORDERENTRYID --预测单表体备注信息 --INNER JOIN T_PLN_RESERVELINKENTRY B ON B.FSUPPLYBILLNO = t0.FBILLNO --INNER JOIN T_PLN_RESERVELINK C ON C.FID=B.FID --预留关系 --INNER JOIN T_PLN_FORECASTENTRY D ON D.FENTRYID=C.FSRCENTRYID --INNER JOIN T_PLN_FORECAST E ON E .FID=D.FID WHERE 1 = 1 AND t0.F_FORECASTNUMBER = '' AND t0_b.FDEMANDTYPE = 2 AND CONVERT(nvarchar(100),t0.FCREATEDATE,23) = '2024-01-18' --AND t0.FCOMPUTERNO ='MRP000401' --AND t0_b.FSALEORDERID = 0 --ORDER BY t0_b.FSALEORDERID,t0_b.FSALEORDERENTRYSEQ --计划订单、预测单关联查询end-- --计划订单预留关系关联查询start-- SELECT A.FID into #temp FROM T_PLN_PLANORDER A INNER JOIN T_PLN_RESERVELINKENTRY B ON B.FSUPPLYBILLNO = A.FBILLNO INNER JOIN T_PLN_RESERVELINK C ON C.FID=B.FID INNER JOIN T_PLN_FORECASTENTRY D ON D.FENTRYID=C.FSRCENTRYID INNER JOIN T_PLN_FORECAST e on e .fid=d.FID WHERE 1=1 --AND A.F_FORECASTNUMBER='' AND A.FCOMPUTERNO ='MRP000401' AND CONVERT(nvarchar(100),a.FCREATEDATE,23) = '2024-01-18' GROUP BY A.FID HAVing count(1) > 1 CREATE INDEX [#temp_INDEX_FID] ON #temp(FID); SELECT t0_b.FSALEORDERID --需求单号id ,t0_b.FSALEORDERENTRYID --需求单号表体id ,t0_b.FSALEORDERENTRYSEQ --需求单号表体行号 --,t0.F_Linenumber '预测单行号#' ,t0_b.FSALEORDERNO '需求单号'--需求单号 ,t0.F_FORECASTNUMBER '预测单单号#' ,d.FSEQ ,case when t0_b.FSALEORDERENTRYSEQ = d.FSEQ then 1 else 0 end ,t0.FBILLNO --SELECt * FROM T_PLN_PLANORDER t0 INNER JOIN T_PLN_PLANORDER_B t0_b on t0.FID = t0_b.FID --INNER JOIN T_PLN_FORECAST t1 on t0_b.FSALEORDERID = t1.FID --预测单 --LEFT JOIN T_PLN_FORECAST_L t1_l on t1_l.FID = t0_b.FSALEORDERID --预测单备注信息 --INNER JOIN T_PLN_FORECASTENTRY t1e on t1e.FID = t0_b.FSALEORDERID AND t0_b.FSALEORDERENTRYID = t1e.FENTRYID --and t0_b.FSALEORDERENTRYSEQ = t1e.FSEQ--预测单表体 INNER JOIN T_PLN_RESERVELINKENTRY B ON B.FSUPPLYBILLNO = t0.FBILLNO INNER JOIN T_PLN_RESERVELINK C ON C.FID=B.FID INNER JOIN T_PLN_FORECASTENTRY D ON D.FENTRYID=C.FSRCENTRYID INNER JOIN T_PLN_FORECAST e on e .fid=d.FID WHERE exists (SELECT 1 FROM #temp tt WHERE tt.FID = t0.FID) and (t0_b.FSALEORDERENTRYSEQ != d.FSEQ or t0_b.FSALEORDERNO != e.FBILLNO) DROP TABLE #TEMP --计划订单预留关系关联查询end-- --测试用清空字段查询start-- SELECT a.FBILLNO AS '计划订单单号' ,A.FSALENOROW ,A.F_SOURCE_ORDER_LINE_NUMBER as '计划订单销售订单行号' ,A.F_Source_order_number as '计划订单销售订单单号' ,A.F_FORECASTNUMBER as '计划订单预测单单号' ,A.F_Linenumber as '计划订单预测单行号' ,E.FBILLNO AS '预测单单号' ,D.FSEQ,D.F_Source_order_number as '预测单销售订单单号' ,D.F_SOURCE_ORDER_LINE_NUMBER as '预测单销售订单行号' --UPDATE A SET A.F_Forecastnumber = '',A.F_Linenumber='',A.F_MaterialCode = 0,A.F_Remark = '' SELECT A.* FROM T_PLN_PLANORDER A INNER JOIN T_PLN_RESERVELINKENTRY B ON B.FSUPPLYBILLNO = A.FBILLNO INNER JOIN T_PLN_RESERVELINK C ON C.FID=B.FID INNER JOIN T_PLN_FORECASTENTRY D ON D.FENTRYID=C.FSRCENTRYID INNER JOIN T_PLN_FORECAST e on e .fid=d.FID WHERE 1=1 AND A.F_FORECASTNUMBER='' AND a.fbillno='MRP01348067' AND CONVERT(nvarchar(100),a.FCREATEDATE,23) = '2024-01-18' --AND A.F_Forecastnumber ='N+30000028' --测试用清空字段查询end-- 'WO2401220106,WO2401220362,WO2401220363,WO2401220364,WO2401220365,WO2401220366,WO2401220367,WO2401220368,WO2401220369,WO2401220370,WO2401220371,WO2401220372,WO2401220373,WO2401220374,WO2401220375,WO2401220376,WO2401220377,WO2401220378'