📄 客户价值_proc.sql
字号:
IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE NAME='客户价值_PROC' AND TYPE='P')
DROP PROC 客户价值_PROC
GO
CREATE PROC 客户价值_PROC
@CUST_TO VARCHAR(10),
@CUST_FR VARCHAR(10),
@DATE_TO DATETIME,
@DATE_FR DATETIME
AS
CREATE TABLE #客户价值
(客户编码 VARCHAR(10),
出库日期 DATETIME,
累计销售 NUMERIC(18,6) DEFAULT(0))
INSERT INTO #客户价值 (客户编码 ,出库日期,累计销售)
SELECT 客户编码 ,出库日期, 发票金额
FROM 销售出库单明细表 WHERE 出库日期>=@DATE_TO AND 出库日期<=@DATE_FR AND 客户编码>=@CUST_TO AND 客户编码<=@CUST_FR
CREATE TABLE #ABCX
(
客户编码 VARCHAR(10),
累计销售 NUMERIC(18,6) DEFAULT(0),
占销售总额 NUMERIC(18,6) DEFAULT(0))
INSERT INTO #ABCX (客户编码,累计销售) SELECT 客户编码, SUM(累计销售) FROM #客户价值 GROUP BY 客户编码
declare KP SCROLL cursor for
select 客户编码,累计销售, 占销售总额 from #ABCX
open KP
DECLARE @客户编码 VARCHAR(10),@累计销售 NUMERIC(18,6),@占销售总额 NUMERIC(18,6)
DECLARE @总销售额 NUMERIC(18,6)
fetch KP into @客户编码,@累计销售,@占销售总额
while @@fetch_status=0
begin
begin
select @总销售额=sum(累计销售) from #ABCX
update #ABCX set 占销售总额=(@累计销售/@总销售额)*100 where 客户编码=@客户编码
end
fetch KP into @客户编码,@累计销售,@占销售总额
end
close KP
deallocate KP
SELECT* FROM #ABCX
-- fetch PK into @客户编码,@累计销售
--end
--close PK
--deallocate PK
-- EXEC 客户价值_PROC 'C01','C02','2004/01/01','2004/01/31'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -