--需求数量,未领数量,已领数量 /* 根据生产订单号,销售订单号,物料进行筛选对应的物料*/ SELECT t0.FBILLNO ,t0.FID ,t0e.FQTY ,t0e.FENTRYID ,t0e.FMATERIALID ,t0e_a.FREPQUAQTY --,t0e_a.FREQSRC --1.销售订单 ,(CASE WHEN t1e.FSRCBILLNO is null THEN (CASE t0e_a.FREQSRC WHEN 1 THEN t0e.FSALEORDERNO ELSE '' END) ELSE t1e.FSRCBILLNO END) AS 'FSALEORDERNO' INTO #TEMPMO FROM T_PRD_MO t0 INNER JOIN T_PRD_MOENTRY t0e ON t0.FID = t0E.FID INNER JOIN T_PRD_MOENTRY_A t0e_a ON t0e_a.FENTRYID = t0e.FENTRYID LEFT JOIN T_SAL_DELIVERYNOTICEENTRY t1e on t1e.FENTRYID = t0e.FSRCBILLENTRYID AND t0e.FSRCBILLID = t0e.FSALEORDERID WHERE 1 = 1 AND t0.FDOCUMENTSTATUS = 'C' AND (t0e_a.FSTATUS < 5) --AND t0e.FMATERIALID = 100258 AND t0.FBILLNO = 'MO000023' SELECT t0.FMATERIALID AS 'ProMateralId' ,t1e.FMATERIALID ,t1e_c.FSTOCKID --,t1.FBILLNO ,SUM(t1e.FBASENEEDQTY) AS 'FBASENEEDQTY'--基本单位已领数量 ,SUM(t1e_q.FBASEPICKEDQTY) AS 'FBASEPICKEDQTY'--基本单位已领数量 ,SUM(t1e_q.FBASENOPICKEDQTY) AS 'FBASENOPICKEDQTY'--基本单位未领数量 ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOIDS' ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FENTRYID) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MOENTRYIDS' ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FBILLNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID for xml path('')),1,1,''),'') AS 'MONOS' ,ISNULL(stuff((SELECT DISTINCT ','+ CONVERT(nvarchar(100),tt.FSALEORDERNO) FROM #TEMPMO tt WHERE tt.FMATERIALID = t0.FMATERIALID AND tt.FSALEORDERNO !='' for xml path('')),1,1,''),'') AS 'SALENOS' INTO #TEMPMOQTY FROM #TEMPMO t0 INNER JOIN T_PRD_PPBOMENTRY t1e ON t1e.FMOENTRYID = t0.FENTRYID --生产用料清单表体 INNER JOIN T_PRD_PPBOMENTRY_Q t1e_q ON t1e_q.FENTRYID = t1e.FENTRYID INNER JOIN T_PRD_PPBOMENTRY_C t1e_c ON t1e_c.FENTRYID = t1e.FENTRYID GROUP BY t0.FMATERIALID,t1e.FMATERIALID,t1e_c.FSTOCKID SELECT t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS --INTO #TEMPMONO2Pro FROM #TEMPMOQTY t0 GROUP BY t0.ProMateralId,t0.MONOS,t0.SALENOS,t0.MOIDS,t0.MOENTRYIDS DROP TABLE #TEMPMO --DROP TABLE #TMPLIST