SELECT RECORD.[RECORD_ID]
,RECORD.[WORKFLOW_INFO_ID]
,RECORD.[FORM_CODE]
,RECORD.[APPLY_DATE]
,RECORD.[APPLY_EMP_ID]
,RECORD.[APPLY_EMP_NUMBER]
,RECORD.[APPLY_EMP_NAME_EN]
,RECORD.[APPLY_EMP_NAME_CN]
,RECORD.[APPLY_EMP_EMAIL]
,RECORD.[APPLY_EMP_PHONE]
,RECORD.[APPLY_EMP_MOBILE]
,RECORD.[APPLY_EMP_POSITION_CN]
,RECORD.[APPLY_EMP_POSITION_EN]
,RECORD.[APPLY_EMP_WORK_OFFICE]
,RECORD.[APPLY_EMP_WORK_AREA_CODE]
,RECORD.[APPLY_EMP_DEPT_CODE]
,RECORD.[APPLY_EMP_DEPT_TYPE]
,RECORD.[APPLY_EMP_DEPT_IS_FUNCTIONAL]
,RECORD.[APPLY_EMP_DEPT_NAME_CN]
,RECORD.[APPLY_EMP_DEPT_NAME_EN]
,RECORD.[APPLY_EMP_DEPT_FUNC_CODE]
,RECORD.[APPLY_EMP_DEPT_FUNC_CN]
,RECORD.[APPLY_EMP_DEPT_FUNC_EN]
,RECORD.[FILLER_EMP_ID]
,RECORD.[FILLER_EMP_NUMBER]
,RECORD.[FILLER_EMP_NAME_EN]
,RECORD.[FILLER_EMP_NAME_CN]
,RECORD.[FILLER_EMP_EMAIL]
,RECORD.[FILLER_EMP_PHONE]
,RECORD.[FILLER_EMP_MOBILE]
,RECORD.[FILLER_EMP_POSITION_CN]
,RECORD.[FILLER_EMP_POSITION_EN]
,RECORD.[FILLER_EMP_WORK_OFFICE]
,RECORD.[FILLER_EMP_WORK_AREA_CODE]
,RECORD.[FILLER_EMP_DEPT_CODE]
,RECORD.[FILLER_EMP_DEPT_TYPE]
,RECORD.[FILLER_EMP_DEPT_IS_FUNCTIONAL]
,RECORD.[FILLER_EMP_DEPT_NAME_CN]
,RECORD.[FILLER_EMP_DEPT_NAME_EN]
,RECORD.[FILLER_EMP_DEPT_FUNC_CN]
,RECORD.[FILLER_EMP_DEPT_FUNC_EN]
,RECORD.[FILLER_EMP_DEPT_FUNC_CODE]
,EMP.APPROVE_EMP_ID
,EMP.APPROVE_TYPE
,EMP.EMP_NAME_CN
,EMP.EMP_NAME_EN
,EMP.EMP_NUMBER
,EMP.SOURCE_EMP_NAME_CN
,EMP.SOURCE_EMP_NAME_EN
,EMP.SOURCE_EMP_NUMBER
,Activity.ACTIVITY_NAME --活动名称
,Activity.MEETING_CATEGORY_NAME
,Activity.MEETING_CATEGORY_CODE
,Activity.ACTIVITY_JOIN_NUMBER
,Activity.START_TIME
,Activity.FINISH_TIME
,Activity.FEE
,Activity.[ACTIVITY_REGION_NAME]
,CASE WHEN(EMP.WF_ACTIVITY_NAME IS NULL) THEN
(CASE
WHEN(RECORD.RECORD_STATUS=0) THEN 'Draft'
WHEN(RECORD.RECORD_STATUS=2) THEN 'Completed'
WHEN (RECORD.RECORD_STATUS=4) THEN 'Circulation'
WHEN (RECORD.RECORD_STATUS=5) THEN 'Cancelled'
WHEN (RECORD.RECORD_STATUS=7) THEN 'Suspend' ELSE 'Unknown' END)
ELSE EMP.WF_ACTIVITY_NAME END AS CURRENT_ACTIVITY_NAME
FROM [dbo].[TSTB_COM_MS_ITEM_RECORD] RECORD
LEFT JOIN [dbo].FUN_MS_GetActivityInfo() Activity
ON RECORD.RECORD_ID = Activity.RECORD_ID
LEFT JOIN
(SELECT * , ROW_NUMBER() OVER (PARTITION BY RECORD_ID ORDER BY CREATE_DATE ) AS RN FROM [dbo].[TSTB_COM_ITEM_RECORD_APPROVE_EMP] WHERE STATUS=1 AND APPROVE_TYPE<>2 AND WORKFLOW_PREFIX='MS')
AS EMP ON RECORD.RECORD_ID=EMP.RECORD_ID AND EMP.RN=1
WHERE RECORD.STATUS=1 and RECORD.RECORD_STATUS<>5

sqlserver 用 RowNumber 分组的更多相关文章

  1. sqlserver 存储过程 递归查询分组+hierarchyid重建会员关系

    CREATE PROCEDURE [dbo].[GetGroupInfo] @s_code NVARCHAR() = --会员卡号 AS BEGIN declare @p int; --查询唯一性结果 ...

  2. MySQL数据中分级分组显示数据

    前面已经有了SqlServer数据分级分组显示数据了.今天又来做一个MySQL数据库中的分级分组显示,SqlServer中用到了递归,这里为了简单就直接把根的数据显示为0 ,而不用递归了. 在MySQ ...

  3. 【.net core 入坑】.net core 3.0 报错:在 FETCH 语句中选项 NEXT 的用法无效

    目录 1.事故现场: 2.分析及解决方案: 1.事故现场: 在项目中使用.net core 3.0,在EF链接sqlserver2008,在程序中使用了分页用的skip和take,程序报错: 在 FE ...

  4. ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法,先分组,然后在组内排名,分组计算,主表与附表一对多取唯一等

    ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法 今天在使用多字段去重时,由于某些字段有多种可能性,只需根据部分字段进行去重,在网上看到了row ...

  5. SQLSERVER中按年月分组

    SQLSERVER中按年月分组 一个表有三个字段id,dt,d  分别存放id,时间,数值  id    dt    d 1 2004-08-11 12:12:00.000 9  2 2005-09- ...

  6. SQLServer 分组查询相邻两条记录的时间差

    原文:SQLServer 分组查询相邻两条记录的时间差 首先,我们通过数据库中表的两条记录来引出问题,如下图 以上为一个记录操作记录的表数据.OrderID为自增长列,后面依次为操作类型,操作时间,操 ...

  7. SqlServer 对分组的内容进行拼接-group_concat

    SqlServer  对分组的内容进行拼接: 方案1:xml 子集,性能较差 方案2:借助 sqlCLR 接入.实现group_concat.性能完美,但是 阿里云的不支持!!!! CREATE TA ...

  8. MYSQL-实现分组排序 对比 ORACLE 和SQLserver用 row_number() over(partition by ) 分组排序功能

    以下是个人笔记: 本文是为了理解 row_number() over(partition by )  和实现各种数据库的分组排序功能 select ROW_NUMBER()over( partitio ...

  9. SQLServer 行转列,统计,二次分组

    create table test (   bizdate datetime, --日期   classes varchar(50), --班次 '白班' 或 '夜班'   qty int --产量 ...

随机推荐

  1. Java经典实例:使用正则表达式:测试模式

    import java.util.regex.Pattern; /** * Created by Frank * 在Java中使用正则表达式:测试模式 */ public class RESimple ...

  2. ConcurrentHashMap原理分析

    当我们享受着jdk带来的便利时同样承受它带来的不幸恶果.通过分析Hashtable就知道,synchronized是针对整张Hash表的,即每次锁住整张表让线程独占,安全的背后是巨大的浪费,而现在的解 ...

  3. HTML(.js) – 最简单的方式操作 DOM 的 JS 库

    HTML(.js) 是一个轻量的(压缩后~2kb) JavaScript 库,简化了与 DOM 交互的方法. 这个 JavaScript 库的方法可读性很好,并具有搜索和遍历 DOM 的方法.相比 j ...

  4. Quill – 可以灵活自定义的开源的富文本编辑器

    Quill 的建立是为了解决现有的所见即所得(WYSIWYG)的编辑器本身就是所见即所得(指不能再扩张)的问题.如果编辑器不正是你想要的方式,这是很难或不可能对其进行自定义以满足您的需求. Quill ...

  5. 在你设计中可能用到的20个杂志 PSD 原型

    你是否正在为您的印刷产品找一些现成的原型素材?在这里,我们收集了一组免费的杂志 PSD 素材,必将派上用场.这些原型将给你和你的客户一个先睹为快的产品,在现实生活中看起来如何.所有这些原型提供了可以免 ...

  6. 请使用java来构造和遍历二叉树?

    [分析] 二叉树的结构:根节点.左子树.右子树.其中左子树的值必须小于根节点,右子树的值必须大于根节点.构造这种树结构,就是创建一个类,并提供一个方法,当给定一个值时,它能够自动创建节点并自动挂到二叉 ...

  7. 利用Canvas实现360度浏览

    前言:最近几个月来到新公司,主要从事移动端方面的开发,有时候也挺忙挺累的,于是就好一段时间没写博客了.其实自己在这几个月里,自己对canvas以及createjs和egret都有了一定程度上的认识与掌 ...

  8. Java Collection Framework概述

    文章出自:听云博客 Collection概述 Java collection是java提供的工具包,包含了常用的数据结构:集合.链表.队列.栈.数组.映射等. Java集合主要可以划分为4个部分:Li ...

  9. javascript中,如何判断input中输入的为纯数字

    用正则表达式判断.如果纯数字是指整数的话(不包含小数点),可以这样: function check(){ var value = document.getElementById("input ...

  10. iOS-公司开发者账号的申请和注册(博主原创+亲身经历+2016年申请+附带与邓白氏公司的往来邮件截图)

    不吹不黑,此篇博客真乃我的良心之作啊,希望对大家有所帮助! 链接在简书:http://www.jianshu.com/p/9de6a8eb4d88