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