Inner join case when
SELECT ( '#' + CONVERT(NVARCHAR(), wn.ActualWorkflowNumber)
+ ' ' + wi.SN ) AS SN ,
wi.RecordID ,
wi.WorkflowName ,
wc.WorkflowDisplayName,
wi.WorkflowVersion,
wi.SubmitUser ,
-- 外部生成提交用户中文名
wi.SubmitTime ,
-- 外部生成任务url
n.ApproveNode AS WorkflowCurrentNodeDisplayName ,
n.ApproveNodeInternalName AS WorkflowCurrentNode ,
n.ApproveUser ,
n.WorkflowInstanceID,
isnull(n.CreateTime,'2000-1-1') as WorkflowNodeEntryTime,
-- 外部生成审批用户中文名称集合
wc.ClientApp,
r.AllowEmailApprove,
r.AllowDingTalkApprove,
-- 外部生成审批动作
wi.BusinessCode ,
bc.BusinessCodeFieldDesc ,
-- 外部生成流程描述
wi.FormData,
AS ItemType
FROM dbo.BPM_WorkflowNodes n WITH(NOLOCK)
INNER JOIN dbo.BPM_WorkflowInstance wi WITH(NOLOCK) ON n.WorkflowInstanceID = wi.ID
INNER JOIN dbo.WF_WorkflowNumber wn WITH(NOLOCK) ON wi.RecordID = wn.RecordId
LEFT JOIN dbo.BPM_WorkflowConfig wc WITH(NOLOCK) ON wi.WorkflowName=wc.WorkflowName AND wi.WorkflowVersion=wc.Version LEFT JOIN dbo.EES_Resource r WITH(NOLOCK) ON CASE WHEN CHARINDEX('#',n.ApproveNodeInternalName)>
THEN n.WorkflowName+'.'+SUBSTRING(n.ApproveNodeInternalName,,CHARINDEX('#',n.ApproveNodeInternalName)-)
ELSE n.WorkflowName+'.'+n.ApproveNodeInternalName END =r.ResourceName LEFT JOIN dbo.WF_BusinessCode bc WITH(NOLOCK) ON wi.WorkflowName = bc.WorkflowName
WHERE n.ID IN ('74d4c2da-8260-4574-9674-56f39a820e5d') AND r.AllowDingTalkApprove=--4baccfa2-3df2---9a24fc42b524
Inner join case when的更多相关文章
- Pandas -- Merge,join and concatenate
Merge, join, and concatenate pandas provides various facilities for easily combining together Series ...
- Python Pandas Merge, join and concatenate
Pandas提供了基于 series, DataFrame 和panel对象集合的连接/合并操作. Concatenating objects 先来看例子: from pandas import Se ...
- CYQ.Data V5 分布式自动化缓存设计介绍
前方: 其实完成这个功能之前,我就在思考:是先把想法写了来,和大伙讨论讨论后再实现,还是实现后再写文论述自己的思维. 忽然脑后传来一个声音说:你发文后会进入发呆阶段. 所以还是静下心,让我轻轻地把代码 ...
- json相关的一些用法
一. json可以表示3种类型的值: 简单值 . 对象. 数组 表示对象时:>1. 没有变量的概念 ,所以不用申明变量 >2. 没有末尾结束 ...
- 让Ajax更简单
之前写了一篇 ASP.NET中一种超简单的Ajax解决方案 最近把他拿出来更新了下,把demo也搞的更详细了一点 加入了blqw.Json,所以支持更多类型参数和返回值 优化了对exception的处 ...
- JSON.stringify() / JSON.parse()
JSON.stringify() 这个方法可以把javascript对象转换成json字符串. JSON.parse() 这个方法可以把 json 字符串转换成 javascript对象. [下面来看 ...
- java解析json
1:下载另外一个Java的小包就可以了: http://www.JSON.org/java/json_simple.zip 里面有源码和文档例题和编程的lib包:编程只需要json_simple.ja ...
- ASP.NET中一种超简单的Ajax解决方案
为什么是Ajax2? 因为之前有一个blqw.Ajax,并且已经在项目中投入使用了,但是没有这个方便,这个是后来才弄的,为了纪念第一版的blqw.Ajax,所以这个就2了... 话说看了评论才发现,原 ...
- JSON与js对象序列化
JavaScript对象表示法(JavaScript Object Notation,简称JSON)是一种轻量级的数据交换格式,它基于js字面量表示法,是js的一个子集.虽然是一个js的子集但是他与语 ...
随机推荐
- Java经典问题
1.JAVA初学者都应该搞懂的问题 对于这个系列里的问题,每个学Java的人都应该搞懂.当然,如果只是学Java玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行 ...
- C与C++,面向过程与面向对象
C与C++在电梯处理上的不同 (注:个人理解) 对比区别: C语言程序制定具体流程,按流程逐步进行. C++程序将过程结构化,需要使用时利用接口访问与调用不同功能的类结构结构. 电梯类代码 电梯类定义 ...
- Martin Fowler关于IOC和DI的文章(原版)
Inversion of Control Containers and the Dependency Injection pattern In the Java community there's b ...
- lintcode-178-图是否是树
178-图是否是树 给出 n 个节点,标号分别从 0 到 n - 1 并且给出一个 无向 边的列表 (给出每条边的两个顶点), 写一个函数去判断这张`无向`图是否是一棵树 注意事项 你可以假设我们不会 ...
- <Effective C++>读书摘要--Designs and Declarations<三>
<Item 22> Declare data members private 1.使数据成员private,保持了语法的一致性,client不会为访问一个数据成员是否需要使用括号进行函数调 ...
- vuex管理页面标题
1.在store -> mutation-types.js文件新增常量 export const UPDATE_TITLE = 'UPDATE_TITLE' 2.新增文件title.js目录结构 ...
- python爬虫-使用xpath方法
#coding=utf-8 import re from lxml import etree import requests response = requests.get("http:// ...
- yum 安装 redis php-redis
yum 安装 redis php-redis redis和php-redis在官方源上是没有的,需要安装其他的源,其他源的地址为 http://mirrors.ustc.edu.cn/fedora ...
- cacti 添加redis监控(远程服务器)
监控主机 192.168.24.69 ,以下用A表示 被监控主机 192.168.24.79,以下用B标识 记得在A服务器的cacti中导入监控mysql的templates文件 拷贝ss_get ...
- oracle 时间段内的所有行时间
获取一段时间内所有的小时 SELECT to_date('2013-07-01 12', 'yyyy-mm-dd hh24') + (ROWNUM - 1) / 24 sdate FROM dualC ...