如何获得列值逗号seperatedly包括ID

问题描述:

我在我的当前表有如何获得列值逗号seperatedly包括ID

id  value 
1  newyork 
1  boston 
1  dallas 

我需要下面的输出

id  value 
1  newyork, boston, dallas 
+0

为什么你需要这样的? –

Declare @YourTable table(ID int,[value] varchar(50)) 
Insert Into @YourTable values 
(1,'newyork'), 
(1,'boston'), 
(1,'dallas') 

Select A.ID 
     ,Value = (Select Stuff((Select Distinct ',' +value From @YourTable Where ID=A.ID For XML Path ('')),1,1,'')) 
From (Select Distinct ID From @YourTable) A 

返回要求

ID Value 
1 boston,dallas,newyork 
+0

感谢您的帮助,但是我的结果中有一个小问题,我失去了订单,我如何保持订单与表中相同?感谢你的所有努力。 – sqlvan

+0

@sqlvan没有固有的行顺序,除非你有另一个键。如果你删除DISTINCT,它们将按照表变量的顺序出现,但是你有冒险的风险 –