select aa.学号,aa.姓名
from (select sum(kc.学分) 总学分, xs.学号,xs.姓名
from 学生 xs,课程 kc,成绩 cj
where xs.学号 = cj.学号
and kc.课程号 = cj.课程号
group by xs.学号,xs.姓名
having sum(kc.学分) > 6) aa
select 学号 姓名
from 学生表
where 学号 in(
select 学号
from 课程表, 成绩表
where 学分>6 and 课程.课程号=成绩.课程号
)
试下这样应该可以
学生 xs,课程 kc ,成绩 cj
select ts.xuehao,ts.name from xs ts
,(
select t.xuehao,sum(t.xuefen)as total
from
(
select xs.xuehao,kc.xuefen from xs,kc,cj
where xs.xuehao=cj.xuehao and kc.kechenghao=cj.kechenghao
) t --取得所有关联表数据
group by t.xuehao
) s --s作为另一张表进行查询
where s.total>6 and s.xuehao = ts.xuehao
select xh,xm from xs where xh in(
select xh from cj,kc
where cj>60 and cj.kch=kc.kch
group by xh having sum(xf) >6)
比如000001课程的学分是4分,大于cj>60分, 总计才算那个4分
怎么简单一个学生问题,都被你们回答成这样~!!!
假设为xs,kc,cj三个表
select xh,xm from xs,kc,cj where kc.xf > 6 and kc.kch = cj.kch and cj.xh = xs.xh