主题:求助一个SQL程序!!!(本人已经有一个答案!!)[size=6][i]看这个[/i][/size]
有一个表如下所示:
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
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