如何把select出来的一列数据放在第一个单元格

有如下表:

STORE_ID |  CUSTOMER_ID

  S001       |      C001

  S001       |      C002

能不能把上表SELECT出来变成下面这种形式:

STORE_ID |  CUSTOMER_ID

  S001       |   C001,C002

即以店铺号进行分组,如店铺号为S001的客户有两个:C001和C002,我想把这两个客户ID显示在一个单元格内,用逗号分隔。

一种方法:

Select ',' + CUSTOMER_ID
FROM T_Demo
WHERE STORE_ID = 'S001'
FOR XML PATH('')

Declare @tmpname Nvarchar(4000)
set @tmpname=''
select @tmpname=(@tmpname+[CUSTOMER_ID]+',') from [t_DemoA]
where STORE_ID='S001'
--print @tmpname
set @tmpname2=substring(@tmpname,1,len(@tmpname)-1)
--print @tmpname2

 

posted on 2015-11-10 17:47  不悔的青春  阅读(808)  评论(0编辑  收藏  举报

导航