From 84be13efb89a769412ae2590fd87afa2558682bc Mon Sep 17 00:00:00 2001 From: yuyubo <1870149533@qq.com> Date: Tue, 19 Aug 2025 09:47:52 +0800 Subject: [PATCH] 11 --- 7.销售预算成本与实际成本分析报表SQL.sql | 103 ++++----- ...售预算成本与实际成本分析报表SQL错误版本.sql | 200 ++++++++++++++++++ 2 files changed, 247 insertions(+), 56 deletions(-) create mode 100644 7.销售预算成本与实际成本分析报表SQL错误版本.sql diff --git a/7.销售预算成本与实际成本分析报表SQL.sql b/7.销售预算成本与实际成本分析报表SQL.sql index 0fbe32d..92dcd21 100644 --- a/7.销售预算成本与实际成本分析报表SQL.sql +++ b/7.销售预算成本与实际成本分析报表SQL.sql @@ -32,13 +32,9 @@ SELECT @begintime= ); SELECT @endtime=DATEADD(MONTH,1,@endtime); - - -- ˻ɱѯSQL2 -SELECT a.FRETCUSTID,CustomerName,a.FNUMBER,a.FNAME,SUM(FREALQTY)/4 AS REALQTY,SUM(a.FAMOUNT_LC) AS FAMOUNT_LC,FAPPROVEDATE2,CustomerCode,groupID INTO #TuiHuoChengBen -FROM ( -SELECT t1.FRETCUSTID,t44.FNAME AS CustomerName,t33.FNUMBER AS CustomerCode, T1.FID, T1.FBILLNO,T2.FENTRYID,t55.FNUMBER, FREALQTY ,t4.FAMOUNT_LC,T6.FNAME , FORMAT(t1.FDATE, 'yyyy-MM-01') AS FAPPROVEDATE2 -,t55.fid AS groupID +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.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 @@ -46,13 +42,10 @@ 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 - INNER JOIN VHUB_T_BMMGroupLinkTable cc ON ff.FMATERIALGROUP = cc.[FMATERIALGROUP] - INNER JOIN VHUB_BD_BMMaterialGroup t55 ON cc.[FBMMATERIALGROUP]= t55.FID - LEFT JOIN T_BD_CUSTOMER t33 ON T1.FRETCUSTID= t33.FCUSTID - LEFT JOIN T_BD_CUSTOMER_L t44 ON t33.FCUSTID = t44.FCUSTID - WHERE T1.FDATE>=@begintime AND t1.FDATE<@endtime AND t1.FDOCUMENTSTATUS='C') a -GROUP BY a.FRETCUSTID,a.FNUMBER,a.FNAME,FAPPROVEDATE2 ,CustomerName,CustomerCode,groupID -ORDER BY a.FRETCUSTID,FNUMBER,FAPPROVEDATE2 + 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 --SELECT * FROM #TuiHuoChengBen @@ -61,10 +54,9 @@ WHERE bb.Year=2025 --SELECT * FROM #TempNianDuXiaoShouYuSuan --- ۳ɱѯSQL - SELECT a.FCustomerID,a. CustomerName,a.FNUMBER,a.FNAME,SUM(FREALQTY)/4 AS RealQty,SUM(a.FAMOUNT_LC) AS FAMOUNT_LC,FAPPROVEDATE2 , CustomerCode,groupID INTO #XiaoShouChengBen FROM ( -SELECT t1.FCustomerID,t44.FNAME AS CustomerName,t33.FNUMBER AS CustomerCode,T1.FID, T1.FBILLNO,T2.FENTRYID,t2.FMaterialID,t55.FNUMBER, T2.FREALQTY ,t4.FAMOUNT_LC,T6.FNAME , FORMAT(t1.FDATE, 'yyyy-MM-01') AS FAPPROVEDATE2 -,t55.fid AS groupID + -- ۳ɱѯ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.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 @@ -72,63 +64,62 @@ 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 - INNER JOIN VHUB_T_BMMGroupLinkTable cc ON ff.FMATERIALGROUP = cc.[FMATERIALGROUP] - INNER JOIN VHUB_BD_BMMaterialGroup t55 ON cc.[FBMMATERIALGROUP]= t55.FID - LEFT JOIN T_BD_CUSTOMER t33 ON T1.FCUSTOMERID= t33.FCUSTID - LEFT JOIN T_BD_CUSTOMER_L t44 ON t33.FCUSTID = t44.FCUSTID - WHERE T1.FDATE>=@begintime AND t1.FDATE<@endtime AND t1.FDOCUMENTSTATUS='C' ) a -GROUP BY a.FCustomerID,a.FNUMBER,a.FNAME,FAPPROVEDATE2 ,CustomerName,CustomerCode,groupID + WHERE T1.FDATE>=@begintime AND t1.FDATE<@endtime) a +GROUP BY a.FCustomerID,a.FMaterialID,a.FNUMBER,a.FNAME,FAPPROVEDATE2 -ORDER BY a.FCustomerID, FNUMBER,FAPPROVEDATE2 +ORDER BY a.FCustomerID,FMaterialID,FAPPROVEDATE2 --SELECT * FROM #XiaoShouChengBen ---ձ - - SELECT [ͻ],[ͻ],[Ԥ],FCUSTOMERID,AVG([]-[˻]) AS [] + SELECT [ͻ],[ͻ],[Ԥ],FCUSTOMERID,FDOCUMENTSTATUS,[FBMMATERIALGROUP],SUM([]-[˻]) AS [] ,[Ԥܳɱ]=AVG([Ԥ]*[Ԥܳɱ]),[Ԥɱ()-]=AVG([Ԥ]*[Ԥɱ_ϵ]),[Ԥɱ()-]=AVG([Ԥ]*[Ԥɱ_˹]) ,[Ԥɱ()-]=AVG([Ԥ]*[Ԥɱ_Ʒѵ]),AVG([Ԥ]) AS [Ԥ] - ,[ʵܳɱ]=AVG([ʵܳɱ]),[ʵʳɱ()-]=AVG([ʵʳɱ()-]),[ʵʳɱ()-]=SUM([ʵʳɱ()-]),[ʵʳɱ()-]=AVG([ʵʳɱ()-]) + ,[ʵܳɱ]=SUM([ʵܳɱ]),[ʵʳɱ()-]=SUM([ʵʳɱ()-]),[ʵʳɱ()-]=SUM([ʵʳɱ()-]),[ʵʳɱ()-]=SUM([ʵʳɱ()-]) ,AVG([Ԥܳɱ]) AS [Ԥܳɱ],AVG([Ԥɱ_ϵ]) AS [Ԥɱ_ϵ],AVG([Ԥɱ_˹]) AS [Ԥɱ_˹],AVG([Ԥɱ_Ʒѵ]) AS [Ԥɱ_Ʒѵ] INTO #TempResultTable FROM ( SELECT - ISNULL(t1.CustomerCode,bb.CustomerCode) AS [ͻ], - ISNULL(t1.CustomerName,bb.CustomerName) AS [ͻ], - ISNULL(t1.FNUMBER,bb.FNUMBER) AS [Ԥ], - T1.FCUSTOMERID - , SUM(t1.RealQty) AS [] -,ISNULL((SELECT bb.MonthValue FROM #TempNianDuXiaoShouYuSuan bb WHERE bb.FAPPROVEDATE=t1.FAPPROVEDATE2 - AND bb.FBMMATERIALGROUP= t1.groupID AND bb.FCUSTOMERID=T1.FCUSTOMERID),0) [Ԥ] -,ISNULL( SUM(bb.RealQty),0) [˻] -, ISNULL(t1.FAPPROVEDATE2,bb.FAPPROVEDATE2) AS FAPPROVEDATE2 + t3.FNUMBER AS [ͻ],t2.FMATERIALID, + t4.FNAME AS [ͻ], + t5.FNUMBER AS [Ԥ], + T1.FCUSTOMERID,t1.FDOCUMENTSTATUS +, cc.[FBMMATERIALGROUP],SUM(FRealQty) AS [] +,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.FDATE, 'yyyy-MM-01') = FORMAT(t1.FDATE, 'yyyy-MM-01') AND tui.FDOCUMENTSTATUS='C' AND t2.FMATERIALID=tuide.FMATERIALID +),0) [˻] +,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(SUM(ISNULL(t1.FAMOUNT_LC,0)-ISNULL(bb.FAMOUNT_LC,0)),0) AS [ʵܳɱ] - ,( ISNULL((SELECT SUM(jjj.FAMOUNT_LC) FROM #XiaoShouChengBen jjj WHERE t1.FNUMBER=jjj.FNUMBER AND jjj.FAPPROVEDATE2=t1.FAPPROVEDATE2 AND t1.FCUSTOMERID=jjj.FCUSTOMERID AND jjj.fname='ϳɱ'),0)- - ISNULL((SELECT SUM(jjj.FAMOUNT_LC) FROM #TuiHuoChengBen jjj WHERE bb.FNUMBER=jjj.FNUMBER AND jjj.FAPPROVEDATE2=bb.FAPPROVEDATE2 AND bb.FRETCUSTID=jjj.FRETCUSTID AND jjj.fname='ϳɱ' ),0)) AS [ʵʳɱ()-] - ,( ISNULL((SELECT SUM(jjj.FAMOUNT_LC) FROM #XiaoShouChengBen jjj WHERE t1.FNUMBER=jjj.FNUMBER AND jjj.FAPPROVEDATE2=t1.FAPPROVEDATE2 AND t1.FCUSTOMERID=jjj.FCUSTOMERID AND fname IN ('','ίӹ')),0)- - ISNULL((SELECT SUM(jjj.FAMOUNT_LC) FROM #TuiHuoChengBen jjj WHERE bb.FNUMBER=jjj.FNUMBER AND jjj.FAPPROVEDATE2=bb.FAPPROVEDATE2 AND bb.FRETCUSTID=jjj.FRETCUSTID AND fname IN ('','ίӹ') ),0)) AS [ʵʳɱ()-] - ,( ISNULL((SELECT SUM(jjj.FAMOUNT_LC) FROM #XiaoShouChengBen jjj WHERE t1.FNUMBER=jjj.FNUMBER AND jjj.FAPPROVEDATE2=t1.FAPPROVEDATE2 AND t1.FCUSTOMERID=jjj.FCUSTOMERID AND fname=''),0)- - ISNULL((SELECT SUM(jjj.FAMOUNT_LC) FROM #TuiHuoChengBen jjj WHERE bb.FNUMBER=jjj.FNUMBER AND jjj.FAPPROVEDATE2=bb.FAPPROVEDATE2 AND bb.FRETCUSTID=jjj.FRETCUSTID 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 - #XiaoShouChengBen t1 - INNER JOIN VHUB_BD_BMMaterialGroup t5 ON t5.FNUMBER= t1.FNUMBER - LEFT JOIN VHUB_T_BMGStandCost cost ON cost.FDATE= FAPPROVEDATE2 AND cost.FBMMATERIALGROUP= t5.FID - LEFT JOIN #TuiHuoChengBen bb ON t1.FCUSTOMERID=bb.FRETCUSTID AND t1.FNUMBER=bb.FNUMBER AND t1.FAPPROVEDATE2=bb.FAPPROVEDATE2 - WHERE T1.FAPPROVEDATE2>=@begintime AND t1.FAPPROVEDATE2<@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,t1.FNUMBER,t1.FNAME,t1.FAPPROVEDATE2 ,t1.CustomerName ,t1.CustomerCode,bb.CustomerCode,bb.CustomerName,bb.FNUMBER,t1.groupID,bb.FAPPROVEDATE2,bb.FRETCUSTID - - ) a - GROUP BY [ͻ],[ͻ],[Ԥ],FCUSTOMERID - + T_SAL_OUTSTOCK T1 + INNER JOIN T_SAL_OUTSTOCKENTRY T2 ON T1.FID = T2.FID + INNER JOIN T_BD_MATERIAL matal2 ON T2.FMATERIALID = matal2.FMATERIALID + INNER JOIN VHUB_T_BMMGroupLinkTable cc ON matal2.FMATERIALGROUP = cc.[FMATERIALGROUP] + 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.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.FDATE, 'yyyy-MM-01') ) a + GROUP BY [ͻ],[ͻ],[Ԥ],FCUSTOMERID,FDOCUMENTSTATUS,[FBMMATERIALGROUP] --WHERE a.FCUSTOMERID=641983 AND a.FBMMATERIALGROUP=941609 - SELECT [ͻ] AS F_KeHuCode,[ͻ] AS F_KeHuName, [Ԥ] AS F_WuLiaoFenZu,FCUSTOMERID,[Ԥ] AS F_YuSuanShuLiang,[] AS F_ShiJiXiaoShouShuLiang + SELECT [ͻ] AS F_KeHuCode,[ͻ] AS F_KeHuName, [Ԥ] AS F_WuLiaoFenZu,FCUSTOMERID,FDOCUMENTSTATUS,[FBMMATERIALGROUP],[Ԥ] AS F_YuSuanShuLiang,[] AS F_ShiJiXiaoShouShuLiang ,[Ԥʵ] AS F_YSYSJSLCY,a.Ԥܳɱ AS F_YSZCB,ʵܳɱ AS F_SJZCB,a.Ԥʵܳɱ AS F_YSYSJZCBCY,[Ԥɱ()-] AS F_YSZCB_Z ,[ʵʳɱ()-] AS F_SJCB_L_Z,[-] AS F_CHaYi_Z,[Ԥɱ()-] AS F_YSCB_G_Z,[ʵʳɱ()-] AS F_SJCB_G_Z,[-ܹ] AS F_ChaYi_ZG,[Ԥɱ()-] AS F_YSCB_F_Z ,[ʵʳɱ()-] AS F_SJCB_F_Z,[-ܷ] AS F_ChaYi_ZF,[λԤɱ] AS F_DWZYSCB,[λʵܳɱ] AS F_DWSJZCB diff --git a/7.销售预算成本与实际成本分析报表SQL错误版本.sql b/7.销售预算成本与实际成本分析报表SQL错误版本.sql new file mode 100644 index 0000000..0fbe32d --- /dev/null +++ b/7.销售预算成本与实际成本分析报表SQL错误版本.sql @@ -0,0 +1,200 @@ +IF OBJECT_ID('dbo.[RP_XSYSCBYSJCB]', 'P') IS NOT NULL +BEGIN + DROP PROCEDURE dbo.RP_XSYSCBYSJCB; + PRINT '洢 dbo.[RP_XSYSCBYSJCB] ɾ'; +END; +GO + +-- µĴ洢 +CREATE PROCEDURE dbo.RP_XSYSCBYSJCB + @FYear nvarchar(10), --- + @FStartMonth nvarchar(10), ---ʼ· + @FEndMonth nvarchar(10), ---· + @CustomerId nvarchar(max), ---ѡͻID + @FBMMaterialGroup nvarchar(max) ---ԤID +AS +BEGIN +DECLARE @sql NVARCHAR(MAX),@where2 NVARCHAR(MAX)='',@where3 NVARCHAR(MAX)=''; +DECLARE @begintime DATETIME,@endtime DATETIME; + +SELECT @begintime= + CAST( + @FYear + '-' + + RIGHT('0' + @FStartMonth, 2) + '-' + + RIGHT('0' + 1, 2) + AS DATE + ), @endtime= + CAST( + @FYear + '-' + + RIGHT('0' + @FEndMonth, 2) + '-' + + RIGHT('0' + 1, 2) + AS DATE + ); + + SELECT @endtime=DATEADD(MONTH,1,@endtime); + + +-- ˻ɱѯSQL2 +SELECT a.FRETCUSTID,CustomerName,a.FNUMBER,a.FNAME,SUM(FREALQTY)/4 AS REALQTY,SUM(a.FAMOUNT_LC) AS FAMOUNT_LC,FAPPROVEDATE2,CustomerCode,groupID INTO #TuiHuoChengBen +FROM ( +SELECT t1.FRETCUSTID,t44.FNAME AS CustomerName,t33.FNUMBER AS CustomerCode, T1.FID, T1.FBILLNO,T2.FENTRYID,t55.FNUMBER, FREALQTY ,t4.FAMOUNT_LC,T6.FNAME , FORMAT(t1.FDATE, 'yyyy-MM-01') AS FAPPROVEDATE2 +,t55.fid AS groupID +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 + INNER JOIN T_SAL_RETURNSTOCKENTRY_CE T4 ON T3.FENTRYID = T4.FENTRYID + 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 + INNER JOIN VHUB_T_BMMGroupLinkTable cc ON ff.FMATERIALGROUP = cc.[FMATERIALGROUP] + INNER JOIN VHUB_BD_BMMaterialGroup t55 ON cc.[FBMMATERIALGROUP]= t55.FID + LEFT JOIN T_BD_CUSTOMER t33 ON T1.FRETCUSTID= t33.FCUSTID + LEFT JOIN T_BD_CUSTOMER_L t44 ON t33.FCUSTID = t44.FCUSTID + WHERE T1.FDATE>=@begintime AND t1.FDATE<@endtime AND t1.FDOCUMENTSTATUS='C') a +GROUP BY a.FRETCUSTID,a.FNUMBER,a.FNAME,FAPPROVEDATE2 ,CustomerName,CustomerCode,groupID +ORDER BY a.FRETCUSTID,FNUMBER,FAPPROVEDATE2 + +--SELECT * FROM #TuiHuoChengBen + +SELECT * , DATEFROMPARTS((bb.Year), (bb.Month), 1) AS FAPPROVEDATE INTO #TempNianDuXiaoShouYuSuan FROM NianDuXiaoShouYuSuan bb +WHERE bb.Year=2025 + +--SELECT * FROM #TempNianDuXiaoShouYuSuan + +-- ۳ɱѯSQL + SELECT a.FCustomerID,a. CustomerName,a.FNUMBER,a.FNAME,SUM(FREALQTY)/4 AS RealQty,SUM(a.FAMOUNT_LC) AS FAMOUNT_LC,FAPPROVEDATE2 , CustomerCode,groupID INTO #XiaoShouChengBen FROM ( +SELECT t1.FCustomerID,t44.FNAME AS CustomerName,t33.FNUMBER AS CustomerCode,T1.FID, T1.FBILLNO,T2.FENTRYID,t2.FMaterialID,t55.FNUMBER, T2.FREALQTY ,t4.FAMOUNT_LC,T6.FNAME , FORMAT(t1.FDATE, 'yyyy-MM-01') AS FAPPROVEDATE2 +,t55.fid AS groupID +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 + INNER JOIN T_SAL_OUTSTOCKENTRY_CE T4 ON T3.FENTRYID = T4.FENTRYID + 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 + INNER JOIN VHUB_T_BMMGroupLinkTable cc ON ff.FMATERIALGROUP = cc.[FMATERIALGROUP] + INNER JOIN VHUB_BD_BMMaterialGroup t55 ON cc.[FBMMATERIALGROUP]= t55.FID + LEFT JOIN T_BD_CUSTOMER t33 ON T1.FCUSTOMERID= t33.FCUSTID + LEFT JOIN T_BD_CUSTOMER_L t44 ON t33.FCUSTID = t44.FCUSTID + WHERE T1.FDATE>=@begintime AND t1.FDATE<@endtime AND t1.FDOCUMENTSTATUS='C' ) a +GROUP BY a.FCustomerID,a.FNUMBER,a.FNAME,FAPPROVEDATE2 ,CustomerName,CustomerCode,groupID + +ORDER BY a.FCustomerID, FNUMBER,FAPPROVEDATE2 + +--SELECT * FROM #XiaoShouChengBen + + ---ձ + + + + SELECT [ͻ],[ͻ],[Ԥ],FCUSTOMERID,AVG([]-[˻]) AS [] + ,[Ԥܳɱ]=AVG([Ԥ]*[Ԥܳɱ]),[Ԥɱ()-]=AVG([Ԥ]*[Ԥɱ_ϵ]),[Ԥɱ()-]=AVG([Ԥ]*[Ԥɱ_˹]) + ,[Ԥɱ()-]=AVG([Ԥ]*[Ԥɱ_Ʒѵ]),AVG([Ԥ]) AS [Ԥ] + ,[ʵܳɱ]=AVG([ʵܳɱ]),[ʵʳɱ()-]=AVG([ʵʳɱ()-]),[ʵʳɱ()-]=SUM([ʵʳɱ()-]),[ʵʳɱ()-]=AVG([ʵʳɱ()-]) + ,AVG([Ԥܳɱ]) AS [Ԥܳɱ],AVG([Ԥɱ_ϵ]) AS [Ԥɱ_ϵ],AVG([Ԥɱ_˹]) AS [Ԥɱ_˹],AVG([Ԥɱ_Ʒѵ]) AS [Ԥɱ_Ʒѵ] + INTO #TempResultTable + FROM ( + SELECT + ISNULL(t1.CustomerCode,bb.CustomerCode) AS [ͻ], + ISNULL(t1.CustomerName,bb.CustomerName) AS [ͻ], + ISNULL(t1.FNUMBER,bb.FNUMBER) AS [Ԥ], + T1.FCUSTOMERID + , SUM(t1.RealQty) AS [] +,ISNULL((SELECT bb.MonthValue FROM #TempNianDuXiaoShouYuSuan bb WHERE bb.FAPPROVEDATE=t1.FAPPROVEDATE2 + AND bb.FBMMATERIALGROUP= t1.groupID AND bb.FCUSTOMERID=T1.FCUSTOMERID),0) [Ԥ] +,ISNULL( SUM(bb.RealQty),0) [˻] +, ISNULL(t1.FAPPROVEDATE2,bb.FAPPROVEDATE2) 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(SUM(ISNULL(t1.FAMOUNT_LC,0)-ISNULL(bb.FAMOUNT_LC,0)),0) AS [ʵܳɱ] + ,( ISNULL((SELECT SUM(jjj.FAMOUNT_LC) FROM #XiaoShouChengBen jjj WHERE t1.FNUMBER=jjj.FNUMBER AND jjj.FAPPROVEDATE2=t1.FAPPROVEDATE2 AND t1.FCUSTOMERID=jjj.FCUSTOMERID AND jjj.fname='ϳɱ'),0)- + ISNULL((SELECT SUM(jjj.FAMOUNT_LC) FROM #TuiHuoChengBen jjj WHERE bb.FNUMBER=jjj.FNUMBER AND jjj.FAPPROVEDATE2=bb.FAPPROVEDATE2 AND bb.FRETCUSTID=jjj.FRETCUSTID AND jjj.fname='ϳɱ' ),0)) AS [ʵʳɱ()-] + ,( ISNULL((SELECT SUM(jjj.FAMOUNT_LC) FROM #XiaoShouChengBen jjj WHERE t1.FNUMBER=jjj.FNUMBER AND jjj.FAPPROVEDATE2=t1.FAPPROVEDATE2 AND t1.FCUSTOMERID=jjj.FCUSTOMERID AND fname IN ('','ίӹ')),0)- + ISNULL((SELECT SUM(jjj.FAMOUNT_LC) FROM #TuiHuoChengBen jjj WHERE bb.FNUMBER=jjj.FNUMBER AND jjj.FAPPROVEDATE2=bb.FAPPROVEDATE2 AND bb.FRETCUSTID=jjj.FRETCUSTID AND fname IN ('','ίӹ') ),0)) AS [ʵʳɱ()-] + ,( ISNULL((SELECT SUM(jjj.FAMOUNT_LC) FROM #XiaoShouChengBen jjj WHERE t1.FNUMBER=jjj.FNUMBER AND jjj.FAPPROVEDATE2=t1.FAPPROVEDATE2 AND t1.FCUSTOMERID=jjj.FCUSTOMERID AND fname=''),0)- + ISNULL((SELECT SUM(jjj.FAMOUNT_LC) FROM #TuiHuoChengBen jjj WHERE bb.FNUMBER=jjj.FNUMBER AND jjj.FAPPROVEDATE2=bb.FAPPROVEDATE2 AND bb.FRETCUSTID=jjj.FRETCUSTID AND fname='' ),0)) AS [ʵʳɱ()-] +FROM + #XiaoShouChengBen t1 + INNER JOIN VHUB_BD_BMMaterialGroup t5 ON t5.FNUMBER= t1.FNUMBER + LEFT JOIN VHUB_T_BMGStandCost cost ON cost.FDATE= FAPPROVEDATE2 AND cost.FBMMATERIALGROUP= t5.FID + LEFT JOIN #TuiHuoChengBen bb ON t1.FCUSTOMERID=bb.FRETCUSTID AND t1.FNUMBER=bb.FNUMBER AND t1.FAPPROVEDATE2=bb.FAPPROVEDATE2 + WHERE T1.FAPPROVEDATE2>=@begintime AND t1.FAPPROVEDATE2<@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,t1.FNUMBER,t1.FNAME,t1.FAPPROVEDATE2 ,t1.CustomerName ,t1.CustomerCode,bb.CustomerCode,bb.CustomerName,bb.FNUMBER,t1.groupID,bb.FAPPROVEDATE2,bb.FRETCUSTID + + ) a + GROUP BY [ͻ],[ͻ],[Ԥ],FCUSTOMERID + + + --WHERE a.FCUSTOMERID=641983 AND a.FBMMATERIALGROUP=941609 + SELECT [ͻ] AS F_KeHuCode,[ͻ] AS F_KeHuName, [Ԥ] AS F_WuLiaoFenZu,FCUSTOMERID,[Ԥ] AS F_YuSuanShuLiang,[] AS F_ShiJiXiaoShouShuLiang + ,[Ԥʵ] AS F_YSYSJSLCY,a.Ԥܳɱ AS F_YSZCB,ʵܳɱ AS F_SJZCB,a.Ԥʵܳɱ AS F_YSYSJZCBCY,[Ԥɱ()-] AS F_YSZCB_Z + ,[ʵʳɱ()-] AS F_SJCB_L_Z,[-] AS F_CHaYi_Z,[Ԥɱ()-] AS F_YSCB_G_Z,[ʵʳɱ()-] AS F_SJCB_G_Z,[-ܹ] AS F_ChaYi_ZG,[Ԥɱ()-] AS F_YSCB_F_Z + ,[ʵʳɱ()-] AS F_SJCB_F_Z,[-ܷ] AS F_ChaYi_ZF,[λԤɱ] AS F_DWZYSCB,[λʵܳɱ] AS F_DWSJZCB + ,F_DWCBCY=[λԤɱ]-[λʵܳɱ],[Ԥɱ()-] AS F_YSCB_L_D,[ʵʳɱ()-] AS F_SJCB_L_D + --,[-] AS F_ChaYi_DanLiao, + ,[ʵʳɱ()-] F_SJCB_L_Z, [-] AS F_CHaYi_Z,[Ԥɱ()-] AS F_YSCB_G_Z,[ʵʳɱ()-] AS F_SJCB_G_Z + ,[-ܹ] AS F_ChaYi_ZG,[Ԥɱ()-] AS F_YSCB_F_Z,[ʵʳɱ()-] AS F_SJCB_F_Z,[-ܷ] AS F_ChaYi_ZF,[λԤɱ] AS F_DWZYSCB + ,[λʵܳɱ] AS F_DWSJZCB, [Ԥɱ()-] AS F_YSCB_G_D,[ʵʳɱ()-] AS F_SJCB_G_D,[Ԥɱ()-] AS F_YSCB_F_D,[ʵʳɱ()-] AS F_SJCB_F_D + + ,[F_ChaYi_DanLiao]=[Ԥɱ()-]-[ʵʳɱ()-],F_ChaYi_D_G=[Ԥɱ()-]-[ʵʳɱ()-],F_ChaYi_F_D=[Ԥɱ()-]-[ʵʳɱ()-] + FROM ( + SELECT *,[Ԥʵ]=[Ԥ]-[],[Ԥʵܳɱ]=[Ԥܳɱ]-[ʵܳɱ] + ,[-]=[Ԥɱ()-]-[ʵʳɱ()-] ,[-ܹ]=[Ԥɱ()-]-[ʵʳɱ()-],[-ܷ]=[Ԥɱ()-]-[ʵʳɱ()-] + ,[λԤɱ]=CASE WHEN [Ԥ]!=0 THEN [Ԥܳɱ]/[Ԥ] ELSE 0 END + ,[Ԥɱ()-]=CASE WHEN [Ԥ]!=0 THEN [Ԥɱ()-]/[Ԥ] ELSE 0 END + ,[Ԥɱ()-]=CASE WHEN [Ԥ]!=0 THEN [Ԥɱ()-]/[Ԥ] ELSE 0 END + ,[Ԥɱ()-]=CASE WHEN [Ԥ]!=0 THEN [Ԥɱ()-]/[Ԥ] ELSE 0 END + ,[λʵܳɱ]=CASE WHEN []!=0 THEN [ʵܳɱ]/[] ELSE 0 END + ,[ʵʳɱ()-]=CASE WHEN []!=0 THEN [ʵʳɱ()-]/[] ELSE 0 END + ,[ʵʳɱ()-]=CASE WHEN []!=0 THEN [ʵʳɱ()-]/[] ELSE 0 END + ,[ʵʳɱ()-]=CASE WHEN []!=0 THEN [ʵʳɱ()-]/[] ELSE 0 END + FROM #TempResultTable) a + + + DROP TABLE #XiaoShouChengBen + DROP TABLE #TuiHuoChengBen + DROP TABLE #TempNianDuXiaoShouYuSuan + DROP TABLE #TempResultTable +END + +-- LEFT JOIN (SELECT SUM(FREALQTY),FORMAT(tui.FAPPROVEDATE, 'yyyy-MM-01') AS FAPPROVEDATE FROM dbo.T_SAL_RETURNSTOCK tui LEFT JOIN T_SAL_RETURNSTOCKENTRY tuide ON tui.FID=tuide.FID +-- WHERE tui.FAPPROVEDATE>=@begintime AND tui.FAPPROVEDATE<@endtime AND tui.FDOCUMENTSTATUS='C' +--) Return11 ON + + --SELECT * FROM VHUB_T_BMMGroupLinkTable + -- SELECT * FROM VHUB_BD_BMMaterialGroup + + +--SELECT TOP 10 * FROM T_SAL_OUTSTOCKENTRY +-- -- ˻ɱѯSQL +--SELECT T1.FID, T1.FBILLNO,T2.FENTRYID,t2.FMaterialID,ff.FNUMBER, FMustQty ,t4.*,T6.* +--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 +-- INNER JOIN T_SAL_OUTSTOCKENTRY_CE T4 ON T3.FENTRYID = T4.FENTRYID +-- 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 + +--ORDER BY T2.FENTRYID DESC + +--SELECT * FROM VHUB_T_BMGStandCost + + +------Ԥɱ +--,( +--SELECT SUM(FALLAMOUNT) +-- FROM VHUB_T_BMGStandCost cost WHERE 1=1 AND cost.FBMMATERIALGROUP AND cost.FDATE=@begintime AND cost.FDATE<@endtime ) AS F_YSZCB + +-- ,( +--SELECT SUM(FMATERIALCOSTAMOUNT) +-- FROM VHUB_T_BMGStandCost WHERE 1=1 AND cost.FBMMATERIALGROUP=t5.FNUMBER ) AS F_YSZCB_Z +-- ,( +--SELECT SUM(FLABORCOSTAMOUNT) +-- FROM VHUB_T_BMGStandCost WHERE 1=1 AND cost.FBMMATERIALGROUP=t5.FNUMBER) AS F_YSCB_G_Z +-- ,( +--SELECT SUM(FFEEAMOUNT) +-- FROM VHUB_T_BMGStandCost WHERE 1=1 ) AS F_YSCB_F_Z \ No newline at end of file