首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql?万分感谢

2013-02-24 
求一个sql?---万分感谢!SELECT ja.AppO_Title,ja.AppO_Values,ja.AppD_ID,ja.App_State,jatd.AppD_Name,u.

求一个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

JHC000018481330  1   项目经理归档        a
JHC000024531332  1   会签                 c
JHC000024531332  1   会签                 d
JHC000024531332  1   会签                 e
JHC000025791439  2   立项决策        f
JHC000033371413  2   确认建议书的提交时间     xm
JHC000033371655  1   内部阅办        cp
JHC000033371655  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

JHC000018481330  1   项目经理归档        a
JHC000024531332  1   会签                 c,d,e
JHC000025791439  2   立项决策        f
JHC000033371413  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

热点排行