有一个表如下所示:
1.类型如下:
列名    数据类型    长度    允许空
Id      Int         4       否
Text    Char        20      是
Rank    Int         4       是

2.表中的数据如下:
Id    Text    Rank
1     Hello    1
1     Mr.      2
1     Jack     3
2     My       1
2     Name     2
2     Is       3
2     Broween  4

3.利用SQL查询语言得到的结果如下:
Id    Text
1     Hello Mr. Jack
2     My Name Is Broween


//本人已有一种方法!!用游标来做的,但觉得太麻烦!!
//请各位高手开导一下啊,谢谢!!!
//create table stu(id int(2),text char(8),Rank int(2))  
//创建数据表存放原始数据
//create table stu1(id int(2),text varchar(50))
//创建数据表存放查询结果

//利用游标来处理,将结果存放到stu1中,然后显示
declare cu cursor 
for select id,text from stu order by id,class
declare @temp_id int,@cu_id int,
        @cu_text char(6),@temp_text varchar(35);
delete from stu1
open cu
Fetch next from cu into @cu_id,@cu_text
set @temp_id=@cu_id
set @temp_text=''
while @@FETCH_STATUS = 0
begin
   if @cu_id=@temp_id
   begin
     set @temp_text=@temp_text+' '+@cu_text   //text内容拼接
     print @temp_text
   end
   else
   begin
     insert stu1 values(@temp_id,@temp_text)
     set @temp_text=''
     set @temp_text=@temp_text+' '+@cu_text
     set @temp_id=@cu_id
   end  
   Fetch next form cu into @cu_id,@cu_text
end
insert stu1 values(@temp_id,@temp_text)
close cu
deallocate cu
select * from stu1 order by id