select  b.lastname,c.departmentname,e.lastname,d.re
from formtable_main_188 a
left join HrmResource b on b.id=a.name
left join HrmDepartment c on c.id=a.depart
left join workflow_requestLog d on a.requestid=d.requestid
left join HrmResource e on e.id=d.operator
where d. workflowid=241
这段语句我想实现如下结构
b.lastname  departmentname e.lastname  d.re  e.lastname    d.re
申请人              部门                       审批人1       审批人1意见    审批人2     审批人2意见 ················
但是以上sql目前查询出来是这样的
申请人      部门     审批人1               签字意见1 
申请人      部门      审批人2               签字意见2
申请人      部门     审批人3               签字意见3
还有办法实现啊?

解决方案 »

  1.   

    ;with tbl(id, pid, sp, qz) as  
    (  
     select '申请人', '部门', '审批人1',  '签字意见1' union all   
     select '申请人', '部门', '审批人2',  '签字意见2' union all   
     select '申请人', '部门', '审批人3',  '签字意见3' union all   
     select '申请人', '部门', '审批人4',  '签字意见4' )  
    select id, pid,  
      (  
        stuff((select N' '+ sp + N' '+ qz   
        from tbl   
        where id=t.id   
        order by id   
        FOR XML PATH('')), 1, 1, N'')  
      ) as xmls   
    from tbl as t  
    group by t.id,  t.pid
    order by t.id