求一个sql server 2000 查询(自定义函数)
name course
----------------------------------------
刘涛 语文
刘涛 数学
刘涛 英文
张红 计算机
张红 代数
周磊 几何
要求查出结果如下:
name course
-----------------------------------------
刘涛 语文,数学,英文
张红 计算机,代数
周磊 几何
表名:student 展开
建议用游标实现。
我给你写了一个函数,你仔细看吧。
-- =============================================
-- Author: TLJ
-- Create date: 01/04/2011
-- Description: undefined
-- =============================================
create function [dbo].[getcourses](@name nvarchar(10))
returns nvarchar(100)
as
begin
declare @result nvarchar(100)
declare @temp nvarchar(100)
if(@name is null)
set @result=null
declare mc cursor for select ltrim(rtrim(course)) from student where [name]=@name
open mc
begin
fetch next from mc into @temp
set @result=@temp
end
while @@fetch_status=0
begin
if @temp<>@result
set @result=@result+','+@temp
fetch next from mc into @temp
end
close mc
deallocate mc
return @result
end