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. Python实现装饰模式的一段代码

    # 实现装饰模式的一段代码 import functools def log(func): @functools.wraps(func) def wrapper(*args,**kw): print( ...

  2. Servlet—简单的管理系统

    网站的框架 网站的框架采用MV模式,即Model(模型).View(视图).框架将界面层和模型层进行分离,结构更清晰,更加方便管理代码. 其中上图框架中的修改和删除功能完成而添加查询模块没有编写 实现 ...

  3. 小伙伴们惊呆了!10行 JavaScript 实现文本编辑器

    最近,我需要做一个非常基本的网页内容编辑功能.我不想使用 iframe ,我也不想要一个功能特别多的复杂编辑器,只需要很基本的内容编辑功能,例如粗体,斜体,列表,对齐等等. 您可能感兴趣的相关文章 分 ...

  4. [deviceone开发]-大家比较关注的应用内部升级

    一.简介 这个示例详细介绍了应用内升级的步骤,应用内升级是开发App必须的功能.推荐初学者学习. 二.效果图 三.相关下载 https://github.com/do-project/code4do/ ...

  5. 强大的<canvas>

    <canvas> 个人认为<canvas>是h5最重量级的新标签了,现在各种h5小游戏都是基于<canvas>的,它为游戏提供了一个功能强大的画布,可在画布上绘制丰 ...

  6. Vue数据绑定隐藏的神坑....

    今天被Vue的一个坑给折磨了一天,终于发现是什么问题,我们先来模拟一个场景: 代码如下: <!DOCTYPE html> <html lang="en"> ...

  7. sharepoint2013- Office web app server2013详细的安装和部署

    前提条件 Office web app server2013不能跟sharepoint server2013安装在同一台服务器上,如果安装在同一台服务器上将提示如下错误: 后来查询资料:  按照官方文 ...

  8. No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386)

    今天在运行一个老ios项目的时候,突然报错:No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VAL ...

  9. 【C语言】C语言简介

    目录: 1. [什么是C语言?] 2. [C语言历史] 3. [C语言标准] 4. [C语言特点] 1. 什么事C语言? · C语言是一门高级编程语言,用于人与计算机之间的沟通,就如同人与人之间沟通时 ...

  10. iOS 学习 - 11.圆角(小于等于四个)类似气泡和计算字符高度

    使用贝塞尔曲线, // 小于四个角 圆角 -(void)setbor{ NSString *str = @" couldn't fit this all in a comment to @l ...