以相同的條件,把多行記錄的某些欄位串在一起

Posted ☆Keep★Moving☆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以相同的條件,把多行記錄的某些欄位串在一起相关的知识,希望对你有一定的参考价值。



    Select Distinct
    pppo_cName As 員工姓名,
    IsNull(
        Stuff((Select ‘/‘ + IsNull(Rtrim(calculateChief.pppo_cName),‘‘) + calculateChief.pppo_cJobNumber
        From PPWWorkGroup_ppwg calculateChiefGroup
        Inner Join PPWPerson_pppo calculateChief on calculateChief.pppo_iID = calculateChiefGroup.ppwg_iCalculateChiefID
            And calculateChief.pppo_iRoleID=5 AND calculateChief.pppo_iState=1
        Where workGroup.ppwg_iID = calculateChiefGroup.ppwg_iID --與外面的配置是哪個
        group by calculateChief.pppo_cName, calculateChief.pppo_cJobNumber for xml path(‘‘)), 1, 1, ‘‘)
    ,‘‘) As 員工所屬科長,
    IsNull(SupervisorJoinString,‘‘) As 員工所屬督導
    From PPWPerson_pppo with(nolock)
    Left Join PPWPersonRole_pppr With(nolock) On pppr_iID=pppo_iRoleID
    Left Join PPWFloor_ppfl With(nolock) On ppfl_iID=pppo_iFloor
    Left Join PPWArea_ppar With(nolock) On ppar_iID=pppo_iAreaID
    Left Join PPWWorkGroup_ppwg workGroup With(nolock) On ppwg_iID=pppo_iWorkGroupID   

    Left Join
    (        
        --根據組串埋全部督導
        SELECT Distinct
                groupManager.ppwm_iWorkGroupID AS ‘GroupID‘,            
                STUFF((Select ‘;‘+ IsNull(pppo_cName,‘‘) + pppo_cJobNumber
                                From PPWWorkGroupManager_ppwm t
                                Inner Join PPWPerson_pppo on pppo_iID = t.ppwm_iPersonID
                                Where t.ppwm_iWorkGroupID = groupManager.ppwm_iWorkGroupID --與外面的配置是哪個
                                    And pppo_iRoleID=4 AND pppo_iState=1
                                --order by ppwm_iWorkGroupID
                                group by pppo_cName,  pppo_cJobNumber
                for xml path(‘‘)), 1, 1, ‘‘) As ‘SupervisorJoinString‘
        From PPWWorkGroupManager_ppwm groupManager        
    )BelongToSupervisor On BelongToSupervisor.GroupID = ppwg_iID
    where 1 = 1 And len(SupervisorJoinString)>10
   

以上是关于以相同的條件,把多行記錄的某些欄位串在一起的主要内容,如果未能解决你的问题,请参考以下文章

Mysql来帮忙:多行合并成一列

根据某些条件添加两行或多行[重复]

Excel2016 表格中怎么把某一列单元格多行相同文字中一个特定文字替换为另一列的多行不同文字?

合并多行文本以形成CSV文件的每一行

CASE WHEN - 多个条件 - 相同参考的多行

SQL 查询以查找具有相同列值的多行