而查询学号为321的学生时,效果是:学号 班级 VFO 操作工 C语言 网页
321 网1 85 70 84 97这里应该这样的!
321 网1 85 70 84 97这里应该这样的!
解决方案 »
- sql2005 中怎么建不了“规则”了??难道只能用SQL了吗?
- 如何用select 选取不包含几个字段,如select 不要a列,不要b列,不要c列 from table 其余的字段都要,解决马上结贴
- 临时表到底是在服务器的内存中,还是磁盘上?如果产生多个临时表,会不会。。。。
- 一个关于sum 的问题
- 一个简单的存储过程,希望各位帮忙:)
- 在SQL里怎样存放图片字段?怎样存入图片???
- SQL SERVER服务器log文件太大怎么办?急急急!
- image数据类型的问题
- 这个SQL语句怎么写?
- SQL查询问题
- 可以对装在WIN98上的SQLSERVER个人版用PB编程吗?
- sql有没有1=1?2:3这种语法?
create proc p_qry
@学号 int
as
declare @s varchar(8000)
select top 1 @s='select 学号='''+cast(@学号 as varchar)+''',班级='''+班级+''''
from score where 学号=@学号
select @s=@s+',['+科目+']='+cast(成绩 as varchar)
from score where 学号=@学号
exec(@s)
go--调用实现查询
exec p_qry 821
exec p_qry 321
go
create table score(学号 int,班级 varchar(10),科目 varchar(10),成绩 int)
insert score select 821,'软1','C语言', 85
union all select 821,'软1','DATABASE',95
union all select 821,'软1','DELPHI', 80
union all select 321,'网1','VFO', 85
union all select 321,'网1','操作工', 70
union all select 321,'网1','C语言', 84
union all select 321,'网1','网页', 97
go--查询的存储过程
create proc p_qry
@学号 int
as
declare @s varchar(8000)
select top 1 @s='select 学号='''+cast(@学号 as varchar)+''',班级='''+班级+''''
from score where 学号=@学号
select @s=@s+',['+科目+']='+cast(成绩 as varchar)
from score where 学号=@学号
exec(@s)
go--调用实现查询
exec p_qry 821
exec p_qry 321
go--删除测试
drop proc p_qry
drop table score/*--测试结果学号 班级 C语言 DATABASE DELPHI
---- ---- ----------- ----------- -----------
821 软1 85 95 80(所影响的行数为 1 行)
学号 班级 VFO 操作工 C语言 网页
---- ---- ----------- ----------- ----------- -----------
321 网1 85 70 84 97(所影响的行数为 1 行)
--*/