【SqlServer系列】FOR XML PATH('')
业务需求:
需要将一个流程的所有节点办理人,接收时间,以每一条requestid为主,横向的排列起来展示。
而OAe9里面,workflow_currentoperator表就是存节点接收人,接收时间的。
它的结构如下:
一个requestid下面有很多节点数据,每个节点也可能重复,因为有办理人,抄送人。
在结构上,我们需要将它转为如下:
可以使用以下SQL:
select requestid, STUFF( (select ',' + CAST(a.userid AS varchar) from (select id,requestid,userid from workflow_currentoperator where workflowid=2955 and nodeid = 14027) a where a.requestid = b.requestid FOR XML PATH('') ) ,1,1,'') as userid from (select id,requestid,userid from workflow_currentoperator where workflowid=2955 and nodeid = 14027) b group by requestid