USE CJGL2005
go
--取出推柜的订单和推柜的配舱单确认单号,用于匹配
IF OBJECT_ID('tempdb..#推柜订单') is not null
drop table #推柜订单
go
SELECT 配舱确认单号, 订单号,'推柜' AS 推柜
INTO #推柜订单
FROM dbo.配仓单明细表
WHERE 单证确认装箱日期 IS NULL
AND (确认装箱日期>='2017-9-1' AND 确认装箱日期<='2017-9-30')
GO
--计算每个配舱单号的订单总量
IF OBJECT_ID('tempdb..#订单票数') is not null
drop table #订单票数
go
SELECT 配舱确认单号,确认装箱日期,COUNT(*) AS 订单票数
INTO #订单票数
FROM dbo.配仓单明细表
WHERE 确认装箱日期>='2017-9-1' AND 确认装箱日期<='2017-9-30'
GROUP BY 配舱确认单号,确认装箱日期
GO
select * from #订单票数
--表头中总箱量
IF OBJECT_ID('tempdb..#表头总箱量') is not null
drop table #表头总箱量
go
SELECT dbo.配舱单信息表.配舱确认单号,dbo.配舱单信息表.总箱量
INTO #表头总箱量
FROM dbo.配舱单信息表
GO
--计算配舱单中每票订单的平均柜量
IF OBJECT_ID('tempdb..#订单平均柜量') is not null
drop table #订单平均柜量
go
SELECT #订单票数.配舱确认单号,总箱量,订单票数,总箱量/订单票数 AS 平均箱量
INTO #订单平均柜量
FROM #订单票数 LEFT JOIN #表头总箱量 ON #订单票数.配舱确认单号 = #表头总箱量.配舱确认单号
--链接订单号和平均箱量
IF OBJECT_ID('tempdb..#推柜订单柜量') is not null
drop table #推柜订单柜量
go
SELECT #推柜订单.配舱确认单号 ,
订单号 ,
推柜 ,
#订单平均柜量.总箱量 ,
订单票数 ,
平均箱量
INTO #推柜订单柜量
FROM #推柜订单 LEFT JOIN #订单平均柜量
ON #推柜订单.配舱确认单号 = #订单平均柜量.配舱确认单号
go
--加入生产部门
IF OBJECT_ID('tempdb..#月度推柜') is not null
drop table #月度推柜
go
SELECT #推柜订单柜量.配舱确认单号 ,
订单号 ,
推柜 ,
#推柜订单柜量.总箱量 ,
订单票数 ,
平均箱量 ,
dbo.配舱单信息表.生产部门,
船期,
配舱单装箱时间
INTO #月度推柜
FROM #推柜订单柜量 LEFT JOIN dbo.配舱单信息表
ON #推柜订单柜量.配舱确认单号 = dbo.配舱单信息表.配舱确认单号
--落实责任部门
if exists (select 1
from sysobjects
where id = object_id('月度推柜报表')
and type = 'U')
drop table 月度推柜报表
go
SELECT #月度推柜.配舱确认单号 ,
#月度推柜.订单号 ,
推柜 ,
总箱量 ,
订单票数 ,
平均箱量 ,
生产部门 ,
船期 ,
配舱单装箱时间,
自动编号 ,
dbo.配仓单明细表.errordeadline ,
manufacturentext ,
CargoErrorReason ,
ResponsibleDepartment
INTO 月度推柜报表
FROM #月度推柜 LEFT JOIN dbo.配仓单明细表
ON #月度推柜.订单号 = dbo.配仓单明细表.订单号
AND #月度推柜.配舱确认单号 = dbo.配仓单明细表.配舱确认单号
SELECT * FROM 月度推柜报表
DROP TABLE #推柜订单
DROP TABLE #订单柜量
推柜报表统计
最新推荐文章于 2021-05-12 18:53:17 发布