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的更多相关文章

  1. 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目

    最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...

  2. SQL Server 大数据搬迁之文件组备份还原实战

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...

  3. Sql Server系列:分区表操作

    1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...

  4. SQL Server中的高可用性(2)----文件与文件组

        在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...

  5. EntityFramework Core Raw SQL

    前言 本节我们来讲讲EF Core中的原始查询,目前在项目中对于简单的查询直接通过EF就可以解决,但是涉及到多表查询时为了一步到位就采用了原始查询的方式进行.下面我们一起来看看. EntityFram ...

  6. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  7. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  8. 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...

  9. 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)

    从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  10. SQL Server on Linux 理由浅析

    SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...

随机推荐

  1. 爬虫实战【11】Python获取豆瓣热门电影信息

    之前我们从猫眼获取过电影信息,而且利用分析ajax技术,获取过今日头条的街拍图片. 今天我们在豆瓣上获取一些热门电影的信息. 页面分析 首先,我们先来看一下豆瓣里面选电影的页面,我们默认选择热门电影, ...

  2. jQuery 对象访问 index([selector|element])

    搜索匹配的元素,并返回相应元素的索引值,从0开始计数. 如果不给 .index() 方法传递参数,那么返回值就是这个jQuery对象集合中第一个元素相对于其同辈元素的位置. 如果参数是一组DOM元素或 ...

  3. jQuery animate() - 使用相对值 在值的前面加上 += 或 -=

    也可以定义相对值(该值相对于元素的当前值).需要在值的前面加上 += 或 -=: 实例 $("button").click(function(){ $("div" ...

  4. 只有ReflectionOnlyLoadFrom才可以拯救与GAC冲突的强命名程序集

    先说结论,如果有两个拥有相同程序集名称的强命名程序集,一个在GAC里,一个不在.怎样动态加载那个不在GAC里的程序集?答案就是只有Assembly.ReflectionOnlyLoadFrom才可以加 ...

  5. monggodb 模糊查询

    MongoDB的模糊查询其实很简单:      11.LIKE模糊查询userName包含A字母的数据(%A%)       SQL:SELECT * FROM UserInfo WHERE user ...

  6. Storm的组件

    摘自网上 当时写的很好,很详细的介绍了各个组件直接的关系 Storm集群和Hadoop集群表面上看很类似.但是Hadoop上运行的是MapReduce jobs,而在Storm上运行的是拓扑(topo ...

  7. Backtracking is a form of recursion.

    w https://www.cis.upenn.edu/~matuszek/cit594-2012/Pages/backtracking.html Starting at Root, your opt ...

  8. Pandas 通过追加方式合并多个csv

    常用合并 通常用pandas进行数据拼接.合并的方法有: pandas.merge() pandas.concat() pandas.append() 还有一种方式就是通过 pd.to_csv() 中 ...

  9. Matlab/Simulink仿真中如何将Scope转化为Figure?

    1.只需要在运行仿真后,在命令窗口内输入: ,'ShowHiddenHandle','on'); set(gcf,'menubar','figure'); scope最上方会出现一个菜单栏,选择Too ...

  10. EC断言16种判断

    expected_conditions一般也简称EC,本篇先介绍下有哪些功能,后续更新中会单个去介绍. title_is: 判断当前页面的title是否完全等于(==)预期字符串,返回布尔值 titl ...