gogozz

导航

【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

 

posted on 2024-03-08 11:56  stfzhuang  阅读(8)  评论(0编辑  收藏  举报