在“视图”字段中连接值

时间:2015-06-09 23:18:56

标签: sql-server

我正在尝试基于表中的两个字段构建视图。第一个字段是User,第二个字段是Group。每个用户可能有多个组,因此用户所属的每个组都有一个单独的记录。

我想在第1列中创建一个具有唯一用户列表的视图,第2列包含用户所属的每个组的连接列表。

例如,如果User Paella位于ABC,DEF和JKL组中,则视图将显示:

Column1  Column2

----     ------

Paella   ABC, DEF, JKL

这些群体需要用空间以外的东西隔开。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我觉得这个问题应该适合你。

SELECT 
    T2.Column1
    , STUFF((SELECT ',' + T1.Column2
             FROM <Table> T1
             WHERE T1.Column1 = T2.Column1
             FOR XML PATH('')), 1, 1, '') 
FROM <Table> T2
GROUP BY T2.Column1

这是多种方法,但这是最常用的方法之一。