求一个sql?---万分感谢!
SELECT ja.AppO_Title,ja.AppO_Values,ja.AppD_ID,ja.App_State,jatd.AppD_Name,u.UserName FROM YK_NewRequirement yn
inner join JHOA_Approve ja on yn.MainID = ja.AppO_Values
inner join JHOA_Approve_Temp_Dispose jatd on ja.AppD_ID = jatd.AppD_ID
inner join Users u on ja.Reg_Code = u.UserID
where (ja.App_State=1 or ja.App_State=2) and
(ja.AppO_Values='JHC00003337' or ja.AppO_Values='JHC00002036'
or ja.AppO_Values='JHC00002453' or ja.AppO_Values='JHC00002579' or ja.AppO_Values='JHC00001848')
group by ja.AppO_Title,ja.AppO_Values,ja.AppD_ID,ja.App_State,jatd.AppD_Name,u.UserName
查询结果是:
AppO_Values AppD_ID App_State AppD_Name UserName
JHC00001848 1330 1 项目经理归档 a
JHC00002453 1332 1 会签 c
JHC00002453 1332 1 会签 d
JHC00002453 1332 1 会签 e
JHC00002579 1439 2 立项决策 f
JHC00003337 1413 2 确认建议书的提交时间 xm
JHC00003337 1655 1 内部阅办 cp
JHC00003337 1655 1 内部阅办 zj
字段AppO_Values是表单ID,
例如:JHC00001848代表该表单的流程正在进行项目经理归档,处理人是a
例如:JHC00002453代表该表单的流程同时发给了3个人进行会签,处理人是c,d,e
例如:JHC00002579代表该表单的流程正在进行立项决策,处理人是f
例如:JHC00003337代表该表单的流程正在进行确认建议书的提交时间,处理人是xm
我想通过一条sql在上面的sql查询结果中查出:
AppO_Values AppD_ID App_State AppD_Name UserName
JHC00001848 1330 1 项目经理归档 a
JHC00002453 1332 1 会签 c,d,e
JHC00002579 1439 2 立项决策 f
JHC00003337 1413 2 确认建议书的提交时间 xm
------解决方案--------------------select AppO_Values,AppD_ID,App_State,AppD_Name,stuff((select ','+UserName from tb where tb1.AppO_Values=tb2.AppO_Values and tb1.AppD_ID=tb2.AppD_ID and tb1.App_State=tb2.App_State andtb1.AppD_Name=tb2.AppD_Name for xml path('')),1,1,'')UserName from tb tb1
------解决方案--------------------http://bbs.csdn.net/topics/230087434