比较好的SQL
DECLARE @Data NVARCHAR(30);
DECLARE @Data2 NVARCHAR(30);
SET @Data = @DataDate;
SET @Data = CONVERT(CHAR(30), DATEADD(HOUR, 8, @Data), 120);
SET @Data2 = CONVERT(CHAR(30), DATEADD(day, 1, @Data), 120);
DELETE FROM dbo.WF_ActionSummary
WHERE ActionDate = CONVERT(CHAR(10), @Data, 120);
INSERT INTO dbo.WF_ActionSummary
( ActionDate ,
ActionType ,
ActionCode ,
CountryCode ,
DeliveryCode ,
ActionComplex ,
JobNumber ,
ActionNumber
)
SELECT CONVERT(CHAR(10), @Data, 120) AS 动作日期 ,
'PS' 动作分类 ,
ActionCode 动作类别 ,
'' 国家 ,
'' 渠道 ,
DifficultyLevel 动作复杂度 ,
MAX(b.JobNumber) 操作员工 ,
COUNT(0) 动作数量
FROM dbo.WF_ActionInstance a WITH ( NOLOCK )
INNER JOIN [Tr.TWX.WebFrame].dbo.Adm_User b WITH ( NOLOCK ) ON a.ActionUser = b.UserID
WHERE ActionTime > @Data
AND a.ActionCode = 'CKI'
AND ActionTime < @Data2
AND a.DeleteUser = 0
GROUP BY DifficultyLevel ,
a.ActionUser ,
ActionCode
UNION ALL
SELECT CONVERT(CHAR(10), @Data, 120) AS 动作日期 ,
'GP' 动作分类 ,
'SRT' 动作类别 ,
'' 国家 ,
'' 渠道 ,
1 动作复杂度 ,
'' 操作员工 ,
COUNT(0) 动作数量
FROM dbo.WF_ActionInstance a WITH ( NOLOCK )
WHERE ActionTime > @Data
AND a.ActionCode = 'CKI'
AND ActionTime < @Data2
AND a.DeleteUser = 0
UNION ALL
SELECT CONVERT(CHAR(10), @Data, 120) AS 动作日期 ,
'GP' 动作分类 ,
'CK2' 动作类别 ,
CountryCode 国家 ,
'' 渠道 ,
1 动作复杂度 ,
'' 操作员工 ,
COUNT(0) 动作数量
FROM dbo.WF_ActionInstance a WITH ( NOLOCK )
INNER JOIN [Tr.TWX.WebFrame].dbo.Adm_User b WITH ( NOLOCK ) ON a.ActionUser = b.UserID
WHERE ActionTime > @Data
AND a.ActionCode = 'CKI'
AND ActionTime < @Data2
AND a.DeleteUser = 0
GROUP BY CountryCode
UNION ALL
SELECT CONVERT(CHAR(10), @Data, 120) AS 动作日期 ,
'PS' 动作分类 ,
ActionCode 动作类别 ,
CountryCode 国家 ,
'' 渠道 ,
DifficultyLevel 动作复杂度 ,
MAX(b.JobNumber) 操作员工 ,
COUNT(0) 动作数量
FROM dbo.WF_ActionInstance a WITH ( NOLOCK )
INNER JOIN [Tr.TWX.WebFrame].dbo.Adm_User b WITH ( NOLOCK ) ON a.ActionUser = b.UserID
WHERE ActionTime > @Data
AND a.ActionCode = 'PAW'
AND ActionTime < @Data2
AND a.DeleteUser = 0
GROUP BY CountryCode ,
DifficultyLevel ,
a.ActionUser ,
ActionCode
UNION ALL
SELECT CONVERT(CHAR(10), @Data, 120) AS 动作日期 ,
'PS' 动作分类 ,
ActionCode 动作类别 ,
CountryCode 国家 ,
'' 渠道 ,
DifficultyLevel 动作复杂度 ,
MAX(b.JobNumber) 操作员工 ,
COUNT(0) 动作数量
FROM dbo.WF_ActionInstance a WITH ( NOLOCK )
INNER JOIN [Tr.TWX.WebFrame].dbo.Adm_User b WITH ( NOLOCK ) ON a.ActionUser = b.UserID
WHERE ActionTime > @Data
AND a.ActionCode = 'MGL'
AND ActionTime < @Data2
AND a.DeleteUser = 0
GROUP BY CountryCode ,
DifficultyLevel ,
a.ActionUser ,
ActionCode
UNION ALL
SELECT CONVERT(CHAR(10), @Data, 120) AS 动作日期 ,
'PS' 动作分类 ,
ActionCode 动作类别 ,
CountryCode 国家 ,
'' 渠道 ,
DifficultyLevel 动作复杂度 ,
MAX(b.JobNumber) 操作员工 ,
COUNT(0) 动作数量
FROM dbo.WF_ActionInstance a WITH ( NOLOCK )
INNER JOIN [Tr.TWX.WebFrame].dbo.Adm_User b WITH ( NOLOCK ) ON a.ActionUser = b.UserID
WHERE ActionTime > @Data
AND a.ActionCode = 'PIK'
AND ActionTime < @Data2
AND a.DeleteUser = 0
GROUP BY CountryCode ,
DifficultyLevel ,
a.ActionUser ,
ActionCode
UNION ALL
SELECT CONVERT(CHAR(10), @Data, 120) AS 动作日期 ,
'PS' 动作分类 ,
ActionCode 动作类别 ,
CountryCode 国家 ,
'' 渠道 ,
1 动作复杂度 ,
MAX(b.JobNumber) 操作员工 ,
COUNT(0) 动作数量
FROM dbo.WF_ActionInstance a WITH ( NOLOCK )
INNER JOIN [Tr.TWX.WebFrame].dbo.Adm_User b WITH ( NOLOCK ) ON a.ActionUser = b.UserID
WHERE ActionTime > @Data
AND a.ActionCode = 'CHK'
AND ActionTime < @Data2
AND a.DeleteUser = 0
GROUP BY CountryCode ,
a.ActionUser ,
ActionCode
UNION ALL
SELECT CONVERT(CHAR(10), @Data, 120) AS 动作日期 ,
'GP' 动作分类 ,
'PKG' 动作类别 ,
CountryCode 国家 ,
DeliveryCode 渠道 ,
1 动作复杂度 ,
'' 操作员工 ,
COUNT(0) 动作数量
FROM dbo.WF_ActionInstance a WITH ( NOLOCK )
INNER JOIN [Tr.TWX.WebFrame].dbo.Adm_User b WITH ( NOLOCK ) ON a.ActionUser = b.UserID
WHERE ActionTime > @Data
AND a.ActionCode = 'PIK'
AND ActionTime < @Data2
AND a.DeleteUser = 0
GROUP BY CountryCode ,
DeliveryCode ,
ActionCode
UNION ALL
SELECT CONVERT(CHAR(10), @Data, 120) AS 动作日期 ,
'PS' 动作分类 ,
ActionCode 动作类别 ,
'' 国家 ,
'' 渠道 ,
1 动作复杂度 ,
MAX(b.JobNumber) 操作员工 ,
COUNT(0) 动作数量
FROM dbo.WF_ActionInstance a WITH ( NOLOCK )
INNER JOIN [Tr.TWX.WebFrame].dbo.Adm_User b WITH ( NOLOCK ) ON a.ActionUser = b.UserID
WHERE ActionTime > @Data
AND a.ActionCode = 'PRL'
AND ActionTime < @Data2
AND a.DeleteUser = 0
GROUP BY a.ActionUser ,
ActionCode
UNION ALL
SELECT CONVERT(CHAR(10), @Data, 120) AS 动作日期 ,
'GP' 动作分类 ,
'ZON' 动作类别 ,
CountryCode 国家 ,
DeliveryCode 渠道 ,
1 动作复杂度 ,
'' 操作员工 ,
COUNT(0) 动作数量
FROM dbo.WF_ActionInstance a WITH ( NOLOCK )
INNER JOIN [Tr.TWX.WebFrame].dbo.Adm_User b WITH ( NOLOCK ) ON a.ActionUser = b.UserID
WHERE a.ActionCode = 'PIK'
AND ActionTime > @Data
AND ActionTime < @Data2
AND a.DeleteUser = 0
AND DeliveryCode <> '0'
GROUP BY CountryCode ,
DeliveryCode ,
ActionCode
UNION ALL
SELECT CONVERT(CHAR(10), @Data, 120) AS 动作日期 ,
'GP' 动作分类 ,
'BAG' 动作类别 ,
CountryCode 国家 ,
DeliveryCode 渠道 ,
1 动作复杂度 ,
'' 操作员工 ,
COUNT(0) 动作数量
FROM WF_ActionInstance a WITH ( NOLOCK )
WHERE ActionCode = 'BAG'
AND ActionTime > @Data
AND ActionTime < @Data2
AND a.DeleteUser = 0
GROUP BY CountryCode ,
DeliveryCode
比较好的SQL的更多相关文章
- 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目
最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...
- SQL Server 大数据搬迁之文件组备份还原实战
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...
- Sql Server系列:分区表操作
1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...
- SQL Server中的高可用性(2)----文件与文件组
在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...
- EntityFramework Core Raw SQL
前言 本节我们来讲讲EF Core中的原始查询,目前在项目中对于简单的查询直接通过EF就可以解决,但是涉及到多表查询时为了一步到位就采用了原始查询的方式进行.下面我们一起来看看. EntityFram ...
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...
- 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...
- 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- SQL Server on Linux 理由浅析
SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...
随机推荐
- 《从零开始学Swift》学习笔记(Day 62)——Core Foundation框架之内存托管对象与非托管对象
原创文章,欢迎转载.转载请注明:关东升的博客 内存托管对象 Swift中调用Core Foundation函数获得对象时候,对象分为:内存托管对象和内存非托管对象. 内存托管对象就是由编译器帮助管理内 ...
- java汉字转拼音的工具类
import com.google.common.base.Strings;import net.sourceforge.pinyin4j.PinyinHelper;import net.source ...
- Python全栈day26-27(面向对象进阶)
参考 http://www.cnblogs.com/linhaifeng/articles/6204014.html 1,什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访 ...
- Net应用架构设计
N-Tier 是从架构更大的维度上划分,每一个维度都是一个Tier(在微软的ESP2.0里翻译为”级”),比如电商架构划分如下: UI 服务接口 消息.缓存中间件 数据库 ...... Tier与Ti ...
- StackExchange.Redis性能调优
大家经常出现同步调用Redis超时的问题,但改成异步之后发现错误非常少了,但却可能通过前后记日志之类的发现Redis命令非常慢. PS: 以后代码都在Windows bash中运行,StackExch ...
- python 三行代码实现快速排序
python 三行代码实现快速排序 最近在看 python cookbook , 里面的例子很精彩,这里就帮过来,做个备忘录 主要利用了行数的递归调用和Python的切片特性,解释一下每行代码的含义: ...
- 洛谷 P2300 合并神犇
洛谷 听说这题可以\(n^2\)水过去,不过这里介绍一种\(O(n)\)的做法. \(f[i]\)为第\(1-i\)位合并的次数. \(pre[i]\)为第\(1-i\)位最末尾的数. \(j\)为满 ...
- Vue(3)- 安装脚手架、过滤器、生命周期的钩子函数、vue-router基本使用
一.安装脚手架 1.下载node.js,本文下载版本为node-v8.12.0-x64.msi,一键式安装. 2.安装完成后,打开终端,输入node,可进入node环境(两次ctrl+c退出),如下图 ...
- 0408-服务注册与发现-Eureka常用配置
一.概述 参看地址:https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#_appendix ...
- Pytorch(一)
一.Pytorch介绍 Pytorch 是Torch在Python上的衍生物 和Tensorflow相比: Pytorch建立的神经网络是动态的,而Tensorflow建立的神经网络是静态的 Tens ...