|
23 |
24 |
25 |
26 |
27 |
28 |
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
31
|
1
|
2
|
3
|
4
|
5
|
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go



-- =============================================
-- Author: CHENQP
-- Create date: 9:37 2006-10-30
-- Description: 获取挑选库存货位信息查询、用于领导决策系统
-- 交叉实现七行并成一行
-- =============================================
ALTER PROCEDURE [dbo].[usp_TBManagerQuery_GetResortedTLWarehouse]
@strWhere varchar(1500) = '' -- 查询条件 (注意: 不要加 where)
AS
BEGIN
SET NOCOUNT ON;
declare @strSQL varchar(5000) -- 主语句
Create Table #TMPTABLE_1(IDD int identity(1,1),
V_GoodsPlace VARCHAR(50) ,I_Package INT ,
N_Weight DECIMAL(18,3),V_OutGrade VARCHAR(50),
V_Customer VARCHAR(50),V_PurchaseType VARCHAR(50),V_AreaName VARCHAR(50))
if @strWhere !=''
set @strSQL = '
INSERT INTO #TMPTABLE_1
SELECT V_GoodsPlace,
COUNT(*) as I_Package,
SUM(N_Weight) as N_Weight,
V_OutGrade,
V_Customer,
V_PurchaseType,
dbo.FUN_GetProductionAreaName(I_OutOriginID) AS V_AreaName
FROM V_NPick_StorageStream where '
+ @strWhere +
'GROUP BY V_GoodsPlace,V_OutGrade,V_Customer,V_PurchaseType,I_OutOriginID
ORDER BY V_GoodsPlace'
else
begin
set @strSQL = '
INSERT INTO #TMPTABLE_1
SELECT V_GoodsPlace,
COUNT(*) as I_Package,
SUM(N_Weight) as N_Weight,
V_OutGrade,
V_Customer,
V_PurchaseType,
dbo.FUN_GetProductionAreaName(I_OutOriginID) AS V_AreaName
FROM V_NPick_StorageStream
GROUP BY V_GoodsPlace,V_OutGrade,V_Customer,V_PurchaseType,I_OutOriginID
ORDER BY V_GoodsPlace'
end
execute(@strSQL)
-- 货位小计信息
SELECT COUNT(*) as GoodsPlaceCnt,SUM(I_Package) as PackageSum,SUM(N_Weight) as WeightSum FROM #TMPTABLE_1
-- 实现交叉功能
-- Powred by:CHENQP
-- Commit Date:11:22 2006-10-30
SELECT
V_GoodsPlaceA=max(case id%7 when 0 then V_GoodsPlace end),
I_PackageA=max(case id%7 when 0 then I_Package end),
N_WeightA=max(case id%7 when 0 then N_Weight end),
V_OutGradeA =max(case id%7 when 0 then V_OutGrade end),
V_CustomerA =max(case id%7 when 0 then V_Customer end),
V_PurchaseTypeA=max(case id%7 when 0 then V_PurchaseType end),
V_AreaNameA=max(case id%7 when 0 then V_AreaName end),
V_GoodsPlaceB=max(case id%7 when 1 then V_GoodsPlace end),
I_PackageB=max(case id%7 when 1 then I_Package end),
N_WeightB=max(case id%7 when 1 then N_Weight end),
V_OutGradeB =max(case id%7 when 1 then V_OutGrade end),
V_CustomerB =max(case id%7 when 1 then V_Customer end),
V_PurchaseTypeB=max(case id%7 when 1 then V_PurchaseType end),
V_AreaNameB=max(case id%7 when 1 then V_AreaName end),

V_GoodsPlaceC=max(case id%7 when 2 then V_GoodsPlace end),
I_PackageC=max(case id%7 when 2 then I_Package end),
N_WeightC=max(case id%7 when 2 then N_Weight end),
V_OutGradeC =max(case id%7 when 2 then V_OutGrade end),
V_CustomerC =max(case id%7 when 2 then V_Customer end),
V_PurchaseTypeC=max(case id%7 when 2 then V_PurchaseType end),
V_AreaNameC=max(case id%7 when 2 then V_AreaName end),

V_GoodsPlaceD=max(case id%7 when 3 then V_GoodsPlace end),
I_PackageD=max(case id%7 when 3 then I_Package end),
N_WeightD=max(case id%7 when 3 then N_Weight end),
V_OutGradeD =max(case id%7 when 3 then V_OutGrade end),
V_CustomerD =max(case id%7 when 3 then V_Customer end),
V_PurchaseTypeD=max(case id%7 when 3 then V_PurchaseType end),
V_AreaNameD=max(case id%7 when 3 then V_AreaName end),

V_GoodsPlaceE=max(case id%7 when 4 then V_GoodsPlace end),
I_PackageE=max(case id%7 when 4 then I_Package end),
N_WeightE=max(case id%7 when 4 then N_Weight end),
V_OutGradeE =max(case id%7 when 4 then V_OutGrade end),
V_CustomerE =max(case id%7 when 4 then V_Customer end),
V_PurchaseTypeE=max(case id%7 when 4 then V_PurchaseType end),
V_AreaNameE=max(case id%7 when 4 then V_AreaName end),

V_GoodsPlaceF=max(case id%7 when 5 then V_GoodsPlace end),
I_PackageF=max(case id%7 when 5 then I_Package end),
N_WeightF=max(case id%7 when 5 then N_Weight end),
V_OutGradeF =max(case id%7 when 5 then V_OutGrade end),
V_CustomerF =max(case id%7 when 5 then V_Customer end),
V_PurchaseTypeF=max(case id%7 when 5 then V_PurchaseType end),
V_AreaNameF=max(case id%7 when 5 then V_AreaName end),

V_GoodsPlaceG=max(case id%7 when 6 then V_GoodsPlace end),
I_PackageG=max(case id%7 when 6 then I_Package end),
N_WeightG=max(case id%7 when 6 then N_Weight end),
V_OutGradeG =max(case id%7 when 6 then V_OutGrade end),
V_CustomerG =max(case id%7 when 6 then V_Customer end),
V_PurchaseTypeG=max(case id%7 when 6 then V_PurchaseType end),
V_AreaNameG=max(case id%7 when 6 then V_AreaName end)
FROM
(SELECT Top 100000 *,
(SELECT COUNT(*) FROM #TMPTABLE_1 WHERE IDD <= a.IDD)
AS id
FROM #TMPTABLE_1 a ORDER BY V_GoodsPlace,I_Package ) b
GROUP BY (b.id-1)/7
ORDER BY (b.id-1)/7
END




posted on
2006-11-02 15:43
记得忘记
阅读(
270)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述