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
查看全文
相关阅读:
位移算数符
蓝桥杯 错误票据(第四届预赛第7题)
hdu Train Problem I(栈的简单应用)
ACM YTU 2018 母牛的故事
ACM YTU 1012 u Calculate e
C 语言 printf格式控制详解
ACM YTU 十进制与八进制的转换 (栈和队列) STL栈调用
ACM HDU 2044 一只小蜜蜂
ACM YTU 挑战编程 字符串 Problem A: WERTYU
ACM HDU 1021 Fibonacci Again
原文地址:https://www.cnblogs.com/pingkeke/p/547985.html
最新文章
通过实体类及映射文件生成数据库表
hibernate常见错误
Struts中配置oracle数据源及SID问题
springcloud(1)-服务注册中心
16_springboot RestController返回jsp和redirect重定向问题
滴滴开源AgileTC的安装与运行
【Highcharts】 绘制饼图和漏斗图
jq ajax遇到的错误集合
遍历table指定name的td
【Highcharts】 动态删除series
热门文章
sql 循环某段时间的每一天
配置Hibernate
oracle函数
多线程
易买网项目总结
适配器模式
标识类型模式
代理模式
反射机制
异常总结
Copyright © 2011-2022 走看看