销售数量_proc.sql

来自「SQL server 进销存软件数据库设计。大家积极下载」· SQL 代码 · 共 102 行

SQL
102
字号
IF EXISTS(SELECT NAME FROM SYSOBJECTS WHERE NAME='销售数量_PROC' AND TYPE='P')
DROP PROC 销售数量_PROC
GO
CREATE PROC  销售数量_PROC
@year int,
@item_to varchar(30),
@item_fr  varchar(30)
AS

create table #销售数量
(
物料编码 VARCHAR(30),
出库日期 DATETIME,
一月 NUMERIC(18,6) DEFAULT(0),
二月 NUMERIC(18,6) DEFAULT(0),
三月 NUMERIC(18,6) DEFAULT(0),
四月 NUMERIC(18,6) DEFAULT(0),
五月 NUMERIC(18,6) DEFAULT(0),
六月 NUMERIC(18,6) DEFAULT(0),
七月 NUMERIC(18,6) DEFAULT(0),
八月 NUMERIC(18,6) DEFAULT(0),
九月 NUMERIC(18,6) DEFAULT(0),
十月 NUMERIC(18,6) DEFAULT(0),
十一月 NUMERIC(18,6) DEFAULT(0),
十二月 NUMERIC(18,6) DEFAULT(0))


CREATE TABLE #QTY
(
物料编码 VARCHAR(30),
一月 NUMERIC(18,6) DEFAULT(0),
二月 NUMERIC(18,6) DEFAULT(0),
三月 NUMERIC(18,6) DEFAULT(0),
四月 NUMERIC(18,6) DEFAULT(0),
五月 NUMERIC(18,6) DEFAULT(0),
六月 NUMERIC(18,6) DEFAULT(0),
七月 NUMERIC(18,6) DEFAULT(0),
八月 NUMERIC(18,6) DEFAULT(0),
九月 NUMERIC(18,6) DEFAULT(0),
十月 NUMERIC(18,6) DEFAULT(0),
十一月 NUMERIC(18,6) DEFAULT(0),
十二月 NUMERIC(18,6) DEFAULT(0),
合计 AS 一月+二月+三月+四月+五月+六月+七月+八月+九月+十月+十一月+十二月)

INSERT INTO #销售数量(物料编码,一月,出库日期) SELECT 物料编码, 出库数量,出库日期 FROM 销售出库单明细表 WHERE MONTH(出库日期)='01'AND YEAR(出库日期)=@YEAR AND 物料编码>=@ITEM_TO AND 物料编码<=	@ITEM_FR

INSERT INTO #销售数量(物料编码,二月,出库日期)SELECT 物料编码, 出库数量,出库日期 FROM 销售出库单明细表 WHERE MONTH(出库日期)='02'AND YEAR(出库日期)=@YEAR AND 物料编码>=@ITEM_TO AND 物料编码<=	@ITEM_FR

INSERT INTO #销售数量(物料编码,三月,出库日期)
SELECT 物料编码, 出库数量,出库日期
FROM 销售出库单明细表
WHERE MONTH(出库日期)='03'AND YEAR(出库日期)=@YEAR AND 物料编码>=	@ITEM_TO AND 物料编码<=	@ITEM_FR

INSERT INTO #销售数量(物料编码,四月,出库日期)
SELECT 物料编码, 出库数量,出库日期
FROM 销售出库单明细表
WHERE MONTH(出库日期)='04'AND YEAR(出库日期)=@YEAR AND 物料编码>=	@ITEM_TO AND 物料编码<=	@ITEM_FR
INSERT INTO #销售数量(物料编码,五月,出库日期)
SELECT 物料编码, 出库数量,出库日期
FROM 销售出库单明细表
WHERE MONTH(出库日期)='05'AND YEAR(出库日期)=@YEAR AND 物料编码>=	@ITEM_TO AND 物料编码<=	@ITEM_FR

INSERT INTO #销售数量(物料编码,六月,出库日期)
SELECT 物料编码, 出库数量,出库日期
FROM 销售出库单明细表
WHERE MONTH(出库日期)='06'AND YEAR(出库日期)=@YEAR AND 物料编码>=	@ITEM_TO AND 物料编码<=	@ITEM_FR
INSERT INTO #销售数量(物料编码,七月,出库日期)
SELECT 物料编码, 出库数量,出库日期
FROM 销售出库单明细表
WHERE MONTH(出库日期)='07'AND YEAR(出库日期)=@YEAR AND 物料编码>=	@ITEM_TO AND 物料编码<=	@ITEM_FR

INSERT INTO #销售数量(物料编码,八月,出库日期)
SELECT 物料编码, 出库数量,出库日期
FROM 销售出库单明细表
WHERE MONTH(出库日期)='08'AND YEAR(出库日期)=@YEAR AND 物料编码>=	@ITEM_TO AND 物料编码<=	@ITEM_FR
INSERT INTO #销售数量(物料编码,九月,出库日期)
SELECT 物料编码, 出库数量,出库日期
FROM 销售出库单明细表
WHERE MONTH(出库日期)='09'AND YEAR(出库日期)=@YEAR AND 物料编码>=	@ITEM_TO AND 物料编码<=	@ITEM_FR

INSERT INTO #销售数量(物料编码,十月,出库日期)
SELECT 物料编码, 出库数量,出库日期
FROM 销售出库单明细表
WHERE MONTH(出库日期)='10'AND YEAR(出库日期)=@YEAR AND 物料编码>=	@ITEM_TO AND 物料编码<=	@ITEM_FR

INSERT INTO #销售数量(物料编码,十一月,出库日期)
SELECT 物料编码, 出库数量,出库日期
FROM 销售出库单明细表
WHERE MONTH(出库日期)='11'AND YEAR(出库日期)=@YEAR AND 物料编码>=	@ITEM_TO AND 物料编码<=	@ITEM_FR

INSERT INTO #销售数量(物料编码,十二月,出库日期)
SELECT 物料编码, 出库数量,出库日期
FROM 销售出库单明细表
WHERE MONTH(出库日期)='12'AND YEAR(出库日期)=@YEAR AND 物料编码>=	@ITEM_TO AND 物料编码<=	@ITEM_FR

INSERT INTO #QTY(物料编码,一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月)
SELECT 物料编码, SUM(一月),SUM(二月),SUM(三月),SUM(四月),SUM(五月),SUM(六月),SUM(七月),
SUM(八月),SUM(九月),SUM(十月),SUM(十一月),SUM(十二月)
FROM #销售数量 GROUP BY 物料编码

SELECT* FROM #QTY

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?