首页 > 其他分享 >临时表转置

临时表转置

时间:2023-04-13 11:35:45浏览次数:39  
标签:CUSTOMERNAME 转置 MONO MO OPERATIONNAME QTY 临时 SELECT

USE [MES.WGBEYOND]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

 

ALTER PROC [DBO].[SP_GETMONOTICE]
@CUSTOMERNAME NVARCHAR(50)
AS
BEGIN
DECLARE @SQL VARCHAR(500)
DECLARE @STUFF NVARCHAR(MAX)

--新建临时表#TEMP
SELECT MO.MONO,MO.CUSTOMERNAME,MO.PRODUCTCODE,OP.OPERATIONNAME,
SUM(LT.QTY)QTY INTO #TEMP FROM LOT AS LT
INNER JOIN OPERATION AS OP ON LT.OPERATIONID=OP.OPERATIONID
INNER JOIN MO ON MO.MONO=LT.MONO
WHERE MO.CustomerName=@CUSTOMERNAME
GROUP BY MO.MONO,MO.CUSTOMERNAME,MO.PRODUCTCODE,OP.OPERATIONNAME

-- 置换 固定
SET @SQL='SELECT * FROM
(
SELECT A.MONO,A.CUSTOMERNAME,A.PRODUCTCODE,A.OPERATIONNAME,A.QTY FROM #TEMP AS A
)P
PIVOT(
SUM(QTY) FOR OPERATIONNAME IN
([AOI检验],[磨边],[内箱工序],[入库工序],[外箱工序],[重来来料检]))
AS PVT'
EXEC(@SQL);

 

 -- 置换 动态

SELECT @STUFF = STUFF(
(SELECT DISTINCT','+O.OPERATIONNAME FROM MO M
INNER JOIN LOT L ON L.MONO = M.MONO
INNER JOIN OPERATION O ON O.OPERATIONID = L.OPERATIONID
FOR XML PATH('')),1,1,'')

SET @SQL = '
SELECT * FROM (
SELECT A.MONO,A.CUSTOMERNAME,A.PRODUCTCODE,A.OPERATIONNAME,A.QTY FROM #TEMP AS A
)AS T PIVOT (SUM(QTY) FOR OPERATIONNAME IN ('+@STUFF+')) AS A'
EXEC (@SQL)


END

标签:CUSTOMERNAME,转置,MONO,MO,OPERATIONNAME,QTY,临时,SELECT
From: https://www.cnblogs.com/linnew/p/17312864.html

相关文章

  • 前端临时储存cookies、sessionStorage、localStorage
    cookies、sessionStorage、localStorage的区别是什么?(浏览器)1、cookie(1)本身用于客户端和服务端通信(2)但是它有本地存储的功能,于是就被“借用”(3)document.cookie=…获取和修改即可(4)cookie用于存储的缺点①存储量太小,只有4kb②所有http请求都带着,会影响获取资源的效率③api简单,需......
  • 客服系统对接微信公众号-访客在聊天界面扫码-临时访客绑定公众号OpenID可接收客服回复
    访客在线咨询有以下几个问题:1.访客打开聊天窗口,一般情况下都是临时访客,只存在于当前浏览器。2.浏览器清理缓存,或者换一个浏览器,访客ID会重新生成就会变成一个新访客。3.访客咨询后,关闭了聊天窗口,此时如果客服回复消息,访客会得不到通知。 使用以下方式可以解决上面的问题:......
  • PHP 通过创建临时表实现更高速的IN查询
    /***xmsb_fastIn通过创建临时表实现更高速的IN查询*@returnarray*/functionxmsb_fastIn($tb_name,//要执行in查询的表名$field_name,//要执行in查询的字段名$data_array,//in查询的条件数据集$not_i......
  • 题目 1030: [编程入门]二维数组的转置
    题目描述写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。输入格式一个3x3的矩阵输出格式无样例输入复制123456789样例输出复制147258369解题思路:声明两个数组a[3][3],b[3][3],后者存放转置后的元素。先用for循环嵌套输入a数......
  • 19c 和11g临时表空间使用率
    19c临时表空间使用率(实际正在使用的)selecttotal_extents,free_extents,used_extents,added_extentsfromv$sort_segment;  selectcasewhenexists(select*fromv$tempseg_usage)thenround((selectsum(a.blocks)*8192/sum(b.bytes)fromv$tempseg_usagea,dba_tem......
  • idea重构小技巧3,去掉临时变量
    idea重构小技巧2,去掉临时变量临时变量作为参数传递,很难阅读,提升了代码的阅读难度StringgroupId=context.getProcessModel().getOriginalMqMsg().getAlarmRule().getR......
  • 临时上传服务器搭建 transfer.sh
    https://github.com/dutchcoders/transfer.shtransfer.sh   Easyandfastfilesharingfromthecommand-line.Thiscodecontainstheserverwitheverythingyo......
  • 什么是deconv操作(反卷积,转置卷积)
    1.前言zfnet在他们可视化的时候,利用到了《Zeiler,M.,Taylor,G.,andFergus,R.Adaptivedeconvolutionalnetworksformidandhighlevelfeaturelearning.InIC......
  • Centos 7 - 第一次登陆 Mysql 数据库 修改密码问题 ERROR 1045 (28000) - 临时生效方
    这里第一次安装mysql容易出现报错:ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpasswor解决方法如下:1.修改mysql的初始密码(有两种方法)1.1......
  • 临时禁止win10系统还原默认打开方式
    有个用户报了个神奇的问题,手动修改系统部分格式的默认打开程序,重启系统后却又被还原成系统默认了。由于精力有限,临时用下面的方式禁止被还原:1、设置好对应格式的默认打开......