SQLServer中,将某一字段的多个值用,进行分隔

SQLServer中,将某一字段的多个值用,进行分隔

declare @a varchar(max)
set @a=''   
select @a=@a+color+',' from pcolor
select @a

 

利用游标取出主表中相关属性的值及从表中对应主键某一属性的值,并且,分隔

如:

主表
pid name
1  test1
2  test2

从表:
pid color
1  white
1  black
1  rouge
2  white
 

得到如下结果:
pid name  color
1  test1 white,black,rouge
2  test2 white

 

 

declare @a varchar(max)
declare @v varchar(50)
declare cur cursor
read_only
for select pid from 主表

declare @name varchar(40)
open cur

fetch next from cur into @name
while (@@fetch_status =0)
begin


set @a='';

select  @a=@a+color+','  from 从表 where pid=@name

--print @name+'     '
--
print @v+'    '
--
print @a

select [pid],[name],@a from 主表 where pid=@name

fetch next from cur into @name
end

close cur
deallocate cur
go

你可能感兴趣的:(SQLServer中,将某一字段的多个值用,进行分隔)