相同IDd的字符的?接 name value
---------------------------------
1 A
2 B
1 C
3 E
2 F
1 G?果
name value
-----------------------
1 A,C,G
2 B,F
3 E--生成??数据
create table tname(name int,value varchar(10))
insert into tname select 1,'A'
insert into tname select 2,'B'
insert into tname select 1,'C'
insert into tname select 3,'E'
insert into tname select 2,'F'
insert into tname select 1,'G'
go--?建用?定?函数
create function f_str(@name int)
returns varchar(8000)
as
begin
declare @ret varchar(8000)
set @ret = ''
select @ret = @ret + ',' + value from tname where name = @name
set @ret = stuff(@ret,1,1,'')
return @ret
end
go--?行??
select name,value=dbo.f_str(name) from tname group by name order by name--?出?果
/*
name value
---- -----
1 A,C,G
2 B,F
3 E
*/--?除???境
drop function f_str
drop table tname
go
---------------------------------
1 A
2 B
1 C
3 E
2 F
1 G?果
name value
-----------------------
1 A,C,G
2 B,F
3 E--生成??数据
create table tname(name int,value varchar(10))
insert into tname select 1,'A'
insert into tname select 2,'B'
insert into tname select 1,'C'
insert into tname select 3,'E'
insert into tname select 2,'F'
insert into tname select 1,'G'
go--?建用?定?函数
create function f_str(@name int)
returns varchar(8000)
as
begin
declare @ret varchar(8000)
set @ret = ''
select @ret = @ret + ',' + value from tname where name = @name
set @ret = stuff(@ret,1,1,'')
return @ret
end
go--?行??
select name,value=dbo.f_str(name) from tname group by name order by name--?出?果
/*
name value
---- -----
1 A,C,G
2 B,F
3 E
*/--?除???境
drop function f_str
drop table tname
go
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货