sqlserver列转行

在项目中,我们经常会遇到在数据库中一对多的情况,关联查询又会产生多条重复数据,这时用到列转行

1.sqlserver列转行,不带where条件

 select STUFF((SELECT  ';'+PATH FROM  T_GMM_DUOMEITI  (NOLOCK) for xml path('') ),1,1,'' )

2.sqlserver列转行,包含where条件

select *,
    STUFF(    
        (SELECT  ';'+t.NOLOCK FROM  (select  PATH from T_GMM_DUOMEITI where 1=1)t  (NOLOCK) for xml path('') ),1,1,'' 
    ) PICS
from SDE.T_FIR_HUOQINGGUANLI_PT

猜你喜欢

转载自www.cnblogs.com/dushaojun/p/11669969.html