From eb14f7047f424f509e2cfca80f4343642ef1d775 Mon Sep 17 00:00:00 2001 From: yuyubo <1870149533@qq.com> Date: Tue, 12 Aug 2025 13:49:39 +0800 Subject: [PATCH] 11 --- 7.销售预算成本与实际成本分析报表SQL.sql | 36 ++++++++++++------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/7.销售预算成本与实际成本分析报表SQL.sql b/7.销售预算成本与实际成本分析报表SQL.sql index 67f5487..92dcd21 100644 --- a/7.销售预算成本与实际成本分析报表SQL.sql +++ b/7.销售预算成本与实际成本分析报表SQL.sql @@ -34,7 +34,7 @@ SELECT @begintime= SELECT @endtime=DATEADD(MONTH,1,@endtime); -- ˻ɱѯSQL2 SELECT a.FRETCUSTID,a.FMaterialID,a.FNUMBER,a.FNAME,SUM(FREALQTY) AS REALQTY,SUM(a.FAMOUNT_LC) AS FAMOUNT_LC,FAPPROVEDATE2 INTO #TuiHuoChengBen FROM ( -SELECT t1.FRETCUSTID, T1.FID, T1.FBILLNO,T2.FENTRYID,t2.FMaterialID,ff.FNUMBER, FREALQTY ,t4.FAMOUNT_LC,T6.FNAME , FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') AS FAPPROVEDATE2 +SELECT t1.FRETCUSTID, T1.FID, T1.FBILLNO,T2.FENTRYID,t2.FMaterialID,ff.FNUMBER, FREALQTY ,t4.FAMOUNT_LC,T6.FNAME , FORMAT(t1.FDATE, 'yyyy-MM-01') AS FAPPROVEDATE2 FROM T_SAL_RETURNSTOCK T1 INNER JOIN T_SAL_RETURNSTOCKENTRY T2 INNER JOIN T_SAL_RETURNSTOCKENTRY_C T3 ON T3.FENTRYID = T2.FENTRYID ON T1.FID = T2.FID @@ -42,7 +42,7 @@ ON T1.FID = T2.FID LEFT JOIN T_HS_CALDIMENSIONS T5 ON T3.FDIMENSIONID = T5.FDIMENSIONID LEFT JOIN T_BD_EXPENSE_L T6 ON T4.FEXPENSEID = T6.FEXPID AND T6.FLOCALEID = 2052 LEFT JOIN T_BD_MATERIAL ff ON t2.FMaterialID=ff.FMaterialID - WHERE T1.FAPPROVEDATE>=@begintime AND t1.FAPPROVEDATE<@endtime) a + WHERE T1.FDATE>=@begintime AND t1.FDATE<@endtime) a GROUP BY a.FRETCUSTID,a.FMaterialID,a.FNUMBER,a.FNAME,FAPPROVEDATE2 ORDER BY a.FRETCUSTID,FMaterialID,FAPPROVEDATE2 @@ -56,7 +56,7 @@ WHERE bb.Year=2025 -- ۳ɱѯSQL SELECT a.FCustomerID,a.FMaterialID,a.FNUMBER,a.FNAME,SUM(FREALQTY) AS RealQty,SUM(a.FAMOUNT_LC) AS FAMOUNT_LC,FAPPROVEDATE2 INTO #XiaoShouChengBen FROM ( -SELECT t1.FCustomerID,T1.FID, T1.FBILLNO,T2.FENTRYID,t2.FMaterialID,ff.FNUMBER, T2.FREALQTY ,t4.FAMOUNT_LC,T6.FNAME , FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') AS FAPPROVEDATE2 +SELECT t1.FCustomerID,T1.FID, T1.FBILLNO,T2.FENTRYID,t2.FMaterialID,ff.FNUMBER, T2.FREALQTY ,t4.FAMOUNT_LC,T6.FNAME , FORMAT(t1.FDATE, 'yyyy-MM-01') AS FAPPROVEDATE2 FROM T_SAL_OUTSTOCK T1 INNER JOIN T_SAL_OUTSTOCKENTRY T2 INNER JOIN T_SAL_OUTSTOCKENTRY_C T3 ON T3.FENTRYID = T2.FENTRYID ON T1.FID = T2.FID @@ -64,7 +64,7 @@ ON T1.FID = T2.FID LEFT JOIN T_HS_CALDIMENSIONS T5 ON T3.FDIMENSIONID = T5.FDIMENSIONID LEFT JOIN T_BD_EXPENSE_L T6 ON T4.FEXPENSEID = T6.FEXPID AND T6.FLOCALEID = 2052 LEFT JOIN T_BD_MATERIAL ff ON t2.FMaterialID=ff.FMaterialID - WHERE T1.FAPPROVEDATE>=@begintime AND t1.FAPPROVEDATE<@endtime) a + WHERE T1.FDATE>=@begintime AND t1.FDATE<@endtime) a GROUP BY a.FCustomerID,a.FMaterialID,a.FNUMBER,a.FNAME,FAPPROVEDATE2 ORDER BY a.FCustomerID,FMaterialID,FAPPROVEDATE2 @@ -87,22 +87,22 @@ ORDER BY a.FCustomerID,FMaterialID,FAPPROVEDATE2 t5.FNUMBER AS [Ԥ], T1.FCUSTOMERID,t1.FDOCUMENTSTATUS , cc.[FBMMATERIALGROUP],SUM(FRealQty) AS [] -,ISNULL((SELECT bb.MonthValue FROM #TempNianDuXiaoShouYuSuan bb WHERE bb.FAPPROVEDATE=FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') +,ISNULL((SELECT bb.MonthValue FROM #TempNianDuXiaoShouYuSuan bb WHERE bb.FAPPROVEDATE=FORMAT(t1.FDATE, 'yyyy-MM-01') AND bb.FBMMATERIALGROUP= cc.[FBMMATERIALGROUP] AND bb.FCUSTOMERID=T1.FCUSTOMERID),0) [Ԥ] ,ISNULL((SELECT SUM(FREALQTY) FROM dbo.T_SAL_RETURNSTOCK tui LEFT JOIN T_SAL_RETURNSTOCKENTRY tuide ON tui.FID=tuide.FID - WHERE FORMAT(tui.FAPPROVEDATE, 'yyyy-MM-01') = FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') AND tui.FDOCUMENTSTATUS='C' AND t2.FMATERIALID=tuide.FMATERIALID + WHERE FORMAT(tui.FDATE, 'yyyy-MM-01') = FORMAT(t1.FDATE, 'yyyy-MM-01') AND tui.FDOCUMENTSTATUS='C' AND t2.FMATERIALID=tuide.FMATERIALID ),0) [˻] -,FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') AS FAPPROVEDATE2 +,FORMAT(t1.FDATE, 'yyyy-MM-01') AS FAPPROVEDATE2 ,ISNULL(AVG(cost.FALLAMOUNT),0) AS [Ԥܳɱ],ISNULL(AVG(cost.FMATERIALCOSTAMOUNT),0) AS [Ԥɱ_ϵ],ISNULL(AVG(cost.FLABORCOSTAMOUNT),0) [Ԥɱ_˹] ,ISNULL(AVG(FLABORCOSTAMOUNT),0) AS [Ԥɱ_Ʒѵ] - ,( ISNULL((SELECT SUM(FAMOUNT_LC) FROM #XiaoShouChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FCustomerID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') ),0)- - ISNULL((SELECT SUM(FAMOUNT_LC) FROM #TuiHuoChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FRETCUSTID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') ),0)) AS [ʵܳɱ] - ,( ISNULL((SELECT SUM(FAMOUNT_LC) FROM #XiaoShouChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FCustomerID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') AND fname='ϳɱ'),0)- - ISNULL((SELECT SUM(FAMOUNT_LC) FROM #TuiHuoChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FRETCUSTID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') AND fname='ϳɱ' ),0)) AS [ʵʳɱ()-] - ,( ISNULL((SELECT SUM(FAMOUNT_LC) FROM #XiaoShouChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FCustomerID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') AND fname IN ('','ίӹ')),0)- - ISNULL((SELECT SUM(FAMOUNT_LC) FROM #TuiHuoChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FRETCUSTID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') AND fname IN ('','ίӹ') ),0)) AS [ʵʳɱ()-] - ,( ISNULL((SELECT SUM(FAMOUNT_LC) FROM #XiaoShouChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FCustomerID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') AND fname=''),0)- - ISNULL((SELECT SUM(FAMOUNT_LC) FROM #TuiHuoChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FRETCUSTID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') AND fname='' ),0)) AS [ʵʳɱ()-] + ,( ISNULL((SELECT SUM(FAMOUNT_LC) FROM #XiaoShouChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FCustomerID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FDATE, 'yyyy-MM-01') ),0)- + ISNULL((SELECT SUM(FAMOUNT_LC) FROM #TuiHuoChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FRETCUSTID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FDATE, 'yyyy-MM-01') ),0)) AS [ʵܳɱ] + ,( ISNULL((SELECT SUM(FAMOUNT_LC) FROM #XiaoShouChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FCustomerID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FDATE, 'yyyy-MM-01') AND fname='ϳɱ'),0)- + ISNULL((SELECT SUM(FAMOUNT_LC) FROM #TuiHuoChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FRETCUSTID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FDATE, 'yyyy-MM-01') AND fname='ϳɱ' ),0)) AS [ʵʳɱ()-] + ,( ISNULL((SELECT SUM(FAMOUNT_LC) FROM #XiaoShouChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FCustomerID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FDATE, 'yyyy-MM-01') AND fname IN ('','ίӹ')),0)- + ISNULL((SELECT SUM(FAMOUNT_LC) FROM #TuiHuoChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FRETCUSTID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FDATE, 'yyyy-MM-01') AND fname IN ('','ίӹ') ),0)) AS [ʵʳɱ()-] + ,( ISNULL((SELECT SUM(FAMOUNT_LC) FROM #XiaoShouChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FCustomerID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FDATE, 'yyyy-MM-01') AND fname=''),0)- + ISNULL((SELECT SUM(FAMOUNT_LC) FROM #TuiHuoChengBen bbb WHERE bbb.FMaterialID=T2.FMaterialID AND bbb.FRETCUSTID=T1.FCUSTOMERID AND bbb.FAPPROVEDATE2=FORMAT(t1.FDATE, 'yyyy-MM-01') AND fname='' ),0)) AS [ʵʳɱ()-] FROM T_SAL_OUTSTOCK T1 INNER JOIN T_SAL_OUTSTOCKENTRY T2 ON T1.FID = T2.FID @@ -111,11 +111,11 @@ FROM LEFT JOIN T_BD_CUSTOMER t3 ON t1.FCUSTOMERID= t3.FCUSTID LEFT JOIN T_BD_CUSTOMER_L t4 ON t3.FCUSTID = t4.FCUSTID INNER JOIN VHUB_BD_BMMaterialGroup t5 ON cc.[FBMMATERIALGROUP]= t5.FID - LEFT JOIN VHUB_T_BMGStandCost cost ON cost.FDATE= FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') AND cost.FBMMATERIALGROUP= t5.FID - WHERE T1.FAPPROVEDATE>=@begintime AND t1.FAPPROVEDATE<@endtime + LEFT JOIN VHUB_T_BMGStandCost cost ON cost.FDATE= FORMAT(t1.FDATE, 'yyyy-MM-01') AND cost.FBMMATERIALGROUP= t5.FID + WHERE T1.FDATE>=@begintime AND t1.FDATE<@endtime AND (@CustomerId = 'A' OR t1.FCUSTOMERID IN (SELECT value FROM dbo.SplitString(@CustomerId, ',') )) AND (@FBMMaterialGroup = 'A' OR t5.FID IN (SELECT value FROM dbo.SplitString(@FBMMaterialGroup, ',') )) GROUP BY T1.FCUSTOMERID, cc.[FBMMATERIALGROUP],t1.FDOCUMENTSTATUS, t3.FNUMBER , t2.FMATERIALID, - t4.FNAME , t5.FNUMBER , FORMAT(t1.FAPPROVEDATE, 'yyyy-MM-01') ) a + t4.FNAME , t5.FNUMBER , FORMAT(t1.FDATE, 'yyyy-MM-01') ) a GROUP BY [ͻ],[ͻ],[Ԥ],FCUSTOMERID,FDOCUMENTSTATUS,[FBMMATERIALGROUP] --WHERE a.FCUSTOMERID=641983 AND a.FBMMATERIALGROUP=941609