1 select snmae ( select a.sname,count(b.cno) tot_c,sum(decode(sign(b.score-70),-1,0,1)) over_70 from s a,sc b wehre s.sid=sc.sid group by a.sname) where tot_c=over_70
上面写错了不少地方SELECT snmae FROM (SELECT a.sname, COUNT (b.cno) tot_c, SUM (DECODE (SIGN (b.score - 70), -1, 0, 1)) over_70 FROM s a, sc b WHERE s.SID = sc.SID GROUP BY a.sname) WHERE tot_c = over_70
2SELECT snmae FROM (SELECT a.sname, COUNT (b.cno) tot_c, SUM (DECODE (SIGN (b.score - 70), -1, 0, 1)) over_70 FROM s a, sc b WHERE s.SID = sc.SID GROUP BY a.sname) WHERE over_70/tot_c>=0.2
select snmae
(
select a.sname,count(b.cno) tot_c,sum(decode(sign(b.score-70),-1,0,1)) over_70
from s a,sc b
wehre s.sid=sc.sid
group by a.sname)
where tot_c=over_70
FROM (SELECT a.sname, COUNT (b.cno) tot_c,
SUM (DECODE (SIGN (b.score - 70), -1, 0, 1)) over_70
FROM s a, sc b
WHERE s.SID = sc.SID
GROUP BY a.sname)
WHERE tot_c = over_70
FROM (SELECT a.sname, COUNT (b.cno) tot_c,
SUM (DECODE (SIGN (b.score - 70), -1, 0, 1)) over_70
FROM s a, sc b
WHERE s.SID = sc.SID
GROUP BY a.sname)
WHERE over_70/tot_c>=0.2