关于一个多表查询的问题!(100分)

  • 主题发起人 lornsidezhao
  • 开始时间
L

lornsidezhao

Unregistered / Unconfirmed
GUEST, unregistred user!
我学习当中,碰到这么一个问题,请大虾们帮帮忙!
有好几个表,一个主表记载学生的详细资料,另外每一个表是学生的每个月的成绩,表的
名称是以年的最后两位和月份数来命名的。
如果要按照学生的姓名或学号查询要求查询出学生的历来每个月的成绩。如果表是固定的我
会做,只是表是以每月一个表增加的,这样查询,sql语句怎么写啊?
 
好好学习一下 数据库结构是怎样设计的!

你应该把所有学生所有时间的成绩放在一张 表中 !!
 
是的,两个表就搞定
1、学生基础信息
2、学生每个月的成绩记录
这是最常见,最理想的做法
 
数据设计不合理...
主表--学生信息
从表--月份
从表--每月份成绩
 
同意楼上三位的看法,数据库的设计要合理,照你的设计,表会逐月增加,任何一种数据库
支持的物理表的数量都是一定的,不久的将来。。。
 
这样你就要建立存储过程了
create proc cj @tablename varchar(20)
as
declare @strsql var(500)
set @strsql='select * from '+@tablename+ 'a ,student b where a.id=b.id'
exec(strsql)
调用存储过程时用open,就返回你要的结果
 
谢谢大家了!我是该多学习学习!
 
顶部