number uname score subject
1 wtt 12 chinese
1 wtt 23 math
1 wtt 34 english
2 lt 21 english
通过上面的数据查询得到
number uname score
1 wtt 12,23,34
数据库用的是sql 2005
[b]问题补充:[/b]
函数可以解决 但还是有问题 显示的结果有点问题
建辅助函数
create table t(A char(1), B char(1))
insert into t select 'a','a'
insert into t select 'a','b'
insert into t select 'b','c'
GO
create function f_str(@A char(1))
returns varchar(1000)
as
begin
declare @ret varchar(1000)
set @ret=''
select @ret=@ret+','+B from t where A=@A
set @ret=stuff(@ret,1,1,'')
return @ret
end
GO
select distinct A,B=dbo.f_str(A) from t
GO
/*
a a,b
b c
*/
你用select case 试试
即把uname = 'wtt'的score全部添加到一起