zoukankan
html css js c++ java
SP笔记:交叉实现七行并成一行
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
查看全文
相关阅读:
学习进度 -- 2019.6.20
剑指Offer的学习笔记(C#篇)-- 平衡二叉树(二叉树后序遍历递归详解版)
剑指Offer的学习笔记(C#篇)-- 二叉树的深度(详讲递归)
剑指Offer的学习笔记(C#篇)-- 数字在排序数组中出现的次数
if-else判断语句中经常犯的一个错误
剑指Offer的学习笔记(C#篇)-- 旋转数组的最小数字
二叉树遍历基础 -- 递归与非递归的实现方法
剑指Offer的学习笔记(C#篇)-- 序列化二叉树
剑指Offer的学习笔记(C#篇)-- 对称的二叉树
剑指Offer的学习笔记(C#篇)-- 二叉树的下一个节点(好理解版本)
原文地址:https://www.cnblogs.com/pingkeke/p/547985.html
最新文章
关于多线程--网络编程 -- 注解反射的一点笔记(JAVA篇)
多线程循环打印数组 -- Java笔记
项目实战中如何使用抽象类和接口
举例说明什么是抽象类!让抽象变的不再抽象!!
麻雀虽小,五脏俱全。基于Asp.net core + Sqlite 5分钟快速上手一个小项目
一个基于TCP/IP的小项目,实现广播消息的功能。(超详细版)
一个基于TCP/IP的服务器与客户端通讯的小项目(超详细版)
关于MVC设计模式下的Model
Controllers返回View的一个完整流程
路由的配置
热门文章
面向对象编程基础2(干货)
面向对象编程基础(干货)
区分接口和抽象类
剑指Offer的学习笔记(C#篇)-- 孩子们的游戏(圆圈中最后剩下的数)
线性回归与逻辑回归
剑指Offer的学习笔记(C#篇)-- 翻转单词的序列
剑指Offer的学习笔记(C#篇)-- 左旋转字符串
hi 北京
剑指Offer的学习笔记(C#篇)-- 和为S的连续正数序列
剑指Offer的学习笔记(C#篇)-- 数组中只出现一次的数字
Copyright © 2011-2022 走看看