将两列转换为sql server中的两个逗号分隔列表

时间:2016-07-30 19:11:00

标签: sql sql-server sql-server-2008

我面临一个问题,即将两个不同的列转换为两个以逗号分隔的列表。我有两个名列单身汉和大师的专栏,他们正在举办不同的专题讨论。现在我需要将它们转换为逗号单独的列表

create table #user (Bachelor varchar(25),Masters varchar(25))

insert into #user (Bachelor,Masters) values ('B.A','M.A')
insert into #user (Bachelor,Masters) values ('B.E','MCA')
insert into #user (Bachelor,Masters) values ('B.Tech','M.Tech')

我需要两个逗号分隔值的列,如下所示。

Bachelor         Master

B.A,B.E,B.Tech   M.A,MCA,M.Tech

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

SELECT
  STUFF((
    SELECT
      ',' + Bachelor
    FROM #user
    FOR XML PATH('')
  ), 1, 1, '') AS Bachelor,
  STUFF((
    SELECT
      ',' + Masters
    FROM #user
    FOR XML PATH('')
  ), 1, 1, '') AS Masters