SQL Server 2005查询具有扭曲的行的行

时间:2011-12-13 13:38:00

标签: sql sql-server-2005

这是我的表:

 CODE     __NAME
 1000     ___AB
 1001     ___CA
 1001     ___DR
 1001     ___LVN
 1100     ___ER
 1110     ___WL

我想要的是:

 CODE___NAME
 1000  ___AB
 1001  ___CA,DR,LVN
 1100  ___ER
 1110  ___WL

我知道我可以使用循环来完成此操作,但我想知道是否有更好的方法。感谢

1 个答案:

答案 0 :(得分:2)

尝试这样的事情,这样可以得到你想要的东西。

   Select 
        Main.CODE,
        Left(Main.Names,Len(Main.Names)-1) As Names
    From
        (
        Select distinct T2.CODE, 
        (
         Select 
            RTRIM(T1.NAME) + ', ' AS [text()]
         From   
            Test T1
         Where
            T1.CODE = T2.CODE
         ORDER BY 
            T1.CODE
         For XML PATH ('')
        ) [Names]
        From Test T2
        ) [Main]