紧急!!!!!!!!! select 学生编号,sum(成绩*(select 课程常数*周学时 from 课程表 c where c.课程编号=a.课程编号))as 智育分 from 学生选课表 group by 学生编号 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select a.学生编号, a.学生姓名, sum(b.成绩*c.课程常数)/sum(b.周学时*课程常数) as 智育分from 学生表 a join (选课表 b join 课程表 c on b.课程编号=c.课程编号) on a.学生编号=b.学生编号group by a.学生编号 select tem.学生编号,sum(tem.score)as 智育分 from(select 学生编号,成绩*(select 课程常数*周学时 from 课程表 c where c.课程编号=a.课程编号)as score from 学生选课表)tem group by tem.学生编号 declare @student table(学生编号 char(8),学生姓名 char(1) , 性别 char(2),年龄 int)insert @student values('01101101','1','男',22)insert @student values('01101103','2','女',22)insert @student values('01101104','3','男',22)declare @class table(课程编号 char(2), 课程名称 char(10) , 课程性质 char(6) , 课程常数 int, 周学时 int)insert @class values('c1','英语','考试课',1.1,3)insert @class values('c2','汇编语言','考试课',1.1,5)insert @class values('c3','delphi','考查课',0.9,4)declare @select table(学生编号 char(8),课程编号 char(2),成绩 int)insert @select values('01101101','c1',88)insert @select values('01101101','c2',78)insert @select values('01101101','c3',89)insert @select values('01101103','c1',85)insert @select values('01101103','c2',76)insert @select values('01101103','c3',71)select a.学生编号,isnull((sum(case when c.课程性质 = '考试课'then b.成绩 end) *1.1 + sum(case when c.课程性质 = '考查课'then b.成绩 end) * 0.9 ) /(sum(case when c.课程性质 = '考试课'then c.周学时 end) *1.1 + sum(case when c.课程性质 = '考查课'then c.周学时 end) * 0.9 ),0) 智育分from @student a left join @select b on a.学生编号 = b.学生编号 left join @class c on b.课程编号 = c.课程编号group by a.学生编号 求条sql更新语句 请教大牛!关于BCB远程连接sql server 怎么把用户输入的信息插入到数据库里 sql咋写 如何将一个数据库中的用户表全部添加到另一个数据库中? 各位大哥大姐进来帮个忙 去数据的一个sql难题 高分求大数据量的数据移植方案 关于事务的回滚问题 sql问题求助 求救呀。。在线等.. 用in语句的速度快 还是 分开写多个SQL语句快
a.学生编号,
a.学生姓名,
sum(b.成绩*c.课程常数)/sum(b.周学时*课程常数) as 智育分
from
学生表 a join
(选课表 b join 课程表 c on b.课程编号=c.课程编号)
on a.学生编号=b.学生编号
group by a.学生编号
insert @student values('01101101','1','男',22)
insert @student values('01101103','2','女',22)
insert @student values('01101104','3','男',22)
declare @class table(课程编号 char(2), 课程名称 char(10) , 课程性质 char(6) , 课程常数 int, 周学时 int)
insert @class values('c1','英语','考试课',1.1,3)
insert @class values('c2','汇编语言','考试课',1.1,5)
insert @class values('c3','delphi','考查课',0.9,4)
declare @select table(学生编号 char(8),课程编号 char(2),成绩 int)
insert @select values('01101101','c1',88)
insert @select values('01101101','c2',78)
insert @select values('01101101','c3',89)
insert @select values('01101103','c1',85)
insert @select values('01101103','c2',76)
insert @select values('01101103','c3',71)
select a.学生编号,
isnull(
(sum(case when c.课程性质 = '考试课'then b.成绩 end) *1.1 + sum(case when c.课程性质 = '考查课'then b.成绩 end) * 0.9 ) /
(sum(case when c.课程性质 = '考试课'then c.周学时 end) *1.1 + sum(case when c.课程性质 = '考查课'then c.周学时 end) * 0.9 ),0) 智育分
from @student a left join @select b on a.学生编号 = b.学生编号 left join @class c on b.课程编号 = c.课程编号
group by a.学生编号