SQL如何查询可以做到这样的结果?

来源:百度知道 编辑:UC知道 时间:2024/05/11 04:23:05
比如
班级 学生名称
一班 张三
一班 李四
二班 王五
二班 谢某

想得到的效果如下:

班级 学生名称
一班 张三,李四
二班 王五,谢某
用Group by 的方法 和 类似SUM 的功能可行吗?

用SQL解决再加20分!

或者给个精简的vb循环Function做数组的重新排列也可以!

yao702的方式可以实现,但要加函数,在等等看。

不可能用一个select语句实现。。。。

不知道如何做,期待中...
看一下这个行不行:
CREATE TABLE textaa(班级 varchar(100),学生名称 varchar(20))
INSERT textaa SELECT '一班', '张三'
union all select '一班' ,'李四'
union all select '二班' ,'王五'
union all select '二班' ,'谢某'
go

CREATE FUNCTION getTextaa(@班级 varchar(20))
RETURNS varchar(100)
AS
BEGIN
DECLARE @sql varchar(100)
SELECT @sql=coalesce(@sql+',','') +学生名称 from textaa where 班级=@班级
RETURN @sql
END

go

SELECT 班级,dbo.getTextaa(班级) 学生名称 from textaa group by 班级
--------------------------------------------
--直接运行

create table test(班级 VARCHAR(10),学生姓名 VARCHAR(30))
-----------------------以上为测试表----------

declare @a varchar(100)
,@b varchar(100)
set @a=''
set @b=''
select @a=@a+d.学生姓名+','
FROM TEST d
where 班级 ='