如何选择多行中的数据或将数据放入单个行或列中?

时间:2013-08-01 19:49:42

标签: sql tsql sql-server-2012

我甚至不确定如何提出这个问题:

我有一个看起来像这样的表:

enter image description here

我想通过使用别名或重新插入来选择颜色? 不确定,但我需要它看起来像这样。

enter image description here

我该如何解决这个问题?

非常感谢你。

更新:这适用于SQL Server 2012

1 个答案:

答案 0 :(得分:1)

对于SQL Server

select
    C.UserID,
    stuff(
        (
            select ', ' + t.Color
            from table1 as t
            where t.UserID = C.UserID
            order by t.Color
            for xml path(''), type
        ).value('.', 'nvarchar(max)')
    , 1, 2, '')
from table1 as C
group by C.UserID

SQL FIDDLE