[SQJ]sql如何实现类似统计的功能

时间:2023-03-09 00:11:46
[SQJ]sql如何实现类似统计的功能
假设mssql2000中,

有如下表:

table Class

class_No       course_Name

-----------------------------------

             chinese

             math

             english

             chinese

             math

             english

如果要查询出下面这种格式的结果,如何实现?请指教,谢谢!

结果:

class_No        course_Name

------------------------------------------------

              chinese, math, english

              chinese, math

              english

另外,如果要选出包含english的行,该如何操作?

搜索包含english的结果:

class_No        course_Name

------------------------------------------------

              chinese, math, english

              english
create function [f_str]

(

       @id int

) returns nvarchar()
as
begin
declare @str nvarchar()
set @str = ''
select @str = @str + ',' + cast(course_Name as nvarchar()) from tb_Class where class_No = @id set @str = right(@str , len(@str) - )
return @str
end
go --建立函数成功,调用函数
select id class_No, course_Name= f_str(class_No) from tb_Class group by class_No