多行合并列

表结构

name typename

a        1

a        2

a        4

b        1

b        5

b        6

合并列(只适合2005以上版本)

SELECT
   
*
FROM(
   
SELECT DISTINCT
        name

    FROM 你的表
)A
   
CROSS APPLY(
       
SELECT typeNames = (
               
SELECT
                   
[*] = typename FROM 你的表
               
WHERE name = A.name
               
FOR XML PATH(''), TYPE
            ).value(
'/', 'nvarchar(max)')
    )B

 

 

效果

name typeNames

a       1  2  4

b       1  5  6


 

原文地址:https://www.cnblogs.com/linyijia/p/2307177.html