PiolotTH_ReportFrom/派诺报表SQL文件/应收情况概况表按(签订年份)插入数据SQL.sql
李狗蛋 b595f279c8 1
2025-04-15 11:11:33 +08:00

71 lines
1.8 KiB
Transact-SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

DECLARE @FSDate NVARCHAR(100);
DECLARE @FEDate NVARCHAR(100);
--清空表的数据
TRUNCATE TABLE YSQKGK_QDNF
--定义变量
DECLARE @FEDateDate DATE;
--判断@FEDate日期是否为空
IF @FEDate IS NULL OR @FEDate = ''
BEGIN
SET @FEDateDate = GETDATE();
END
ELSE
BEGIN
-- 转换为日期类型
SET @FEDateDate = CONVERT(DATE, @FEDate);
END
-- 获取上一年的 12 月 31 日
SET @FEDateDate = DATEFROMPARTS(YEAR(@FEDateDate) - 1, 12, 31);
SET @FSDate = '2025-01-31'
SET @FEDate = '2025-04-01'
--根据日期参数@FEDateDate过滤出条件年初到期金额
SELECT ISNULL([签订年份],1) AS 签订年份,SUM([到期金额]) AS 到期金额
INTO #QCTEMP1
FROM ZRP_YingShouMingXi_yuyubo
WHERE [到期时间] <= @FEDateDate
GROUP BY [签订年份]
ORDER BY [签订年份] DESC
--插入期初数据
INSERT INTO YSQKGK_QDNF([签订年份],[年初到期应收款额])
SELECT [签订年份],[到期金额] FROM #QCTEMP1 WHERE [签订年份] <> 1
--根据过滤条件的日期过滤到期金额
SELECT ISNULL([签订年份],1) AS 签订年份 ,SUM([到期金额]) AS 到期金额
INTO #BNTEMP1
FROM ZRP_YingShouMingXi_yuyubo
WHERE (@FSDate = '' OR [到期时间] >= @FSDate)
AND (@FEDate = '' OR [到期时间] <= @FEDate)
GROUP BY [签订年份]
ORDER BY [签订年份] DESC
--插入本年到期金额数据
INSERT INTO YSQKGK_QDNF([签订年份],[本年到期应收款额])
SELECT [签订年份],[到期金额] FROM #BNTEMP1 WHERE [签订年份] <> 1
SELECT *
INTO #TEMP1
FROM
(SELECT [签订年份],SUM(年初到期应收款额) AS 年初到期应收额,
SUM([本年到期应收款额]) AS 本年到期应收款额
FROM YSQKGK_QDNF GROUP BY [签订年份]) AS YS
--清空表的数据
TRUNCATE TABLE YSQKGK_QDNF
INSERT INTO YSQKGK_QDNF([签订年份],[年初到期应收款额],[本年到期应收款额])
SELECT [签订年份],[年初到期应收额],[本年到期应收款额] FROM #TEMP1
DROP TABLE #QCTEMP1,#BNTEMP1,#TEMP1