diff --git a/6.预算销售与实际销售对比分析报表.sql b/6.预算销售与实际销售对比分析报表.sql index ee4e3ca..c8c633e 100644 --- a/6.预算销售与实际销售对比分析报表.sql +++ b/6.预算销售与实际销售对比分析报表.sql @@ -126,14 +126,14 @@ FROM ( where aa.FDATE >= @begintime AND aa.FDATE < @endtime ) YingShou - FULL JOIN - VHUB_t_Cust_Entry100007 t1 + FULL JOIN + (select t1.* from VHUB_t_Cust_Entry100007 t1 + INNER JOIN (select * from VHUB_t_Cust100008 tt3 where tt3.FYEARS = @FYear) t2 ON t1.FID = t2.FID) t1 ON t1.FCUSTOMERID=YingShou.FCUSTOMERID AND YingShou.FBMMATERIALGROUP=t1.FBMMATERIALGROUP - LEFT JOIN (select * from VHUB_t_Cust100008 tt3 where tt3.FYEARS = @FYear) t2 ON t1.FID = t2.FID LEFT JOIN T_BD_CUSTOMER t3 ON isnull(YingShou.FCUSTOMERID,t1.FCUSTOMERID) = t3.FCUSTID LEFT JOIN T_BD_CUSTOMER_L t4 ON t3.FCUSTID = t4.FCUSTID INNER JOIN VHUB_BD_BMMaterialGroup t5 ON isnull(YingShou.FBMMATERIALGROUP,t1.FBMMATERIALGROUP)= t5.FID - WHERE 1=1 + WHERE 1=1 '+@where2+@where3+' ) AS aaa'; diff --git a/7.销售预算成本与实际成本分析报表SQL.sql b/7.销售预算成本与实际成本分析报表SQL.sql new file mode 100644 index 0000000..99d9bae --- /dev/null +++ b/7.销售预算成本与实际成本分析报表SQL.sql @@ -0,0 +1,66 @@ + + ---ձ + SELECT + t3.FNUMBER AS [ͻ], + t4.FNAME AS [ͻ], + t5.FNUMBER AS [Ԥ], + T1.FCUSTOMERID,t1.FDOCUMENTSTATUS +, cc.[FBMMATERIALGROUP],SUM(FRealQty) AS FRealQty +,(SELECT SUM(FREALQTY) FROM dbo.T_SAL_RETURNSTOCK tui LEFT JOIN T_SAL_RETURNSTOCKENTRY tuide ON tui.FID=tuide.FID + WHERE tui.FAPPROVEDATE>='2025-05-01' AND tui.FAPPROVEDATE<'2025-06-01' AND tui.FDOCUMENTSTATUS='C' +) ReturnQty +,( +select sum(FALLAMOUNT) + from VHUB_T_BMGStandCost where 1=1 ) as F_YSZCB + + ,( +select sum(FMATERIALCOSTAMOUNT) + from VHUB_T_BMGStandCost where 1=1 ) as F_YSZCB_Z + ,( +select sum(FLABORCOSTAMOUNT) + from VHUB_T_BMGStandCost where 1=1 ) as F_YSCB_G_Z + ,( +select sum(FFEEAMOUNT) + from VHUB_T_BMGStandCost where 1=1 ) as F_YSCB_F_Z + + FROM + 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 + WHERE T1.FAPPROVEDATE>='2025-05-01' AND t1.FAPPROVEDATE<'2025-06-01' + GROUP BY T1.FCUSTOMERID, cc.[FBMMATERIALGROUP],t1.FDOCUMENTSTATUS, t3.FNUMBER , + t4.FNAME , t5.FNUMBER + + --SELECT * FROM VHUB_T_BMMGroupLinkTable + -- SELECT * FROM VHUB_BD_BMMaterialGroup + + -- ۳ɱѯSQL + SELECT a.FMaterialID,a.FNUMBER,a.FNAME,SUM(FMustQty) AS FMustQty,SUM(a.FAMOUNT_LC) AS FAMOUNT_LC FROM ( +select T1.FID, T1.FBILLNO,T2.FENTRYID,t2.FMaterialID,ff.FNUMBER, FMustQty ,t4.FAMOUNT_LC,T6.FNAME +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 + WHERE T1.FAPPROVEDATE>='2025-05-01' AND t1.FAPPROVEDATE<'2025-06-01') a +GROUP BY a.FMaterialID,a.FNUMBER,a.FNAME +ORDER BY FMaterialID + + -- ˻ɱѯ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>='2025-05-01' AND t1.FAPPROVEDATE<'2025-06-01' +order by T2.FENTRYID desc + diff --git a/把销售预算的结果行专列的存储过程.sql b/把销售预算的结果行专列的存储过程.sql new file mode 100644 index 0000000..879a5a9 --- /dev/null +++ b/把销售预算的结果行专列的存储过程.sql @@ -0,0 +1,39 @@ +IF OBJECT_ID('dbo.[RP_NianDuXiaoShouYuSuan]', 'P') IS NOT NULL +BEGIN + DROP PROCEDURE dbo.RP_NianDuXiaoShouYuSuan; + PRINT '洢 dbo.[RP_NianDuXiaoShouYuSuan] ɾ'; +END; +GO + +-- µĴ洢 +CREATE PROCEDURE dbo.RP_NianDuXiaoShouYuSuan + @month INT = 1, + @year INT = 2025 +AS +BEGIN + DECLARE @sql2 NVARCHAR(MAX); + DELETE dbo.NianDuXiaoShouYuSuan + WHERE Year = @year; + + --select t1.* from VHUB_t_Cust_Entry100007 t1 + -- INNER JOIN (select * from VHUB_t_Cust100008 tt3 where tt3.FYEARS = @year) t2 ON t1.FID = t2.FID + + PRINT @sql2; + WHILE (@month < 13) + BEGIN + SELECT @sql2 + = N'INSERT INTO [dbo].[NianDuXiaoShouYuSuan] + ([Fid] + ,[Year] + ,[Month] + ,[FPrice] + ,[FCUSTOMERID] + ,[FBMMATERIALGROUP],MonthValue) (select t8.FID,' + CONVERT(NVARCHAR(20), @year) + N' AS [Year],' + + CONVERT(NVARCHAR(20), @month) + N' AS [Month],FPRICE, + FCUSTOMERID,FBMMATERIALGROUP, FMONTH' + CONVERT(NVARCHAR(10), @month) + + N' FROM VHUB_t_Cust100008 T8 LEFT JOIN VHUB_t_Cust_Entry100007 T7 ON t8.FID = t7.FID where T8.FYEARS =' + + CONVERT(NVARCHAR(20), @year) + N')'; + --PRINT @sql2; + SELECT @month = @month + 1; + END; +END; \ No newline at end of file