求一条SQL语句(SQL Server2008)

已知有2张表,一个学生表,字段(ID,name,age),另一个成绩表,字段(ID,subject,score)统计每门功课前两名学生的ID,name,subject,s... 已知有2张表,一个学生表,字段(ID,name,age),
另一个成绩表,字段(ID,subject,score)统计每门功课前两名学生的ID,name ,subject ,score
假设学生表是a,成绩表是b
请写出完整的SQL语句,最好测试过
展开
 我来答
badkano
2010-09-24 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885365
团长

向TA提问 私信TA
展开全部
设学生表为student,成绩表为score,其他字段跟你缺搏敏列的银岩相伏枝同
select c.* from
(select a.id,a.name,b.subject,b.score from student a,score b where a.id=b.id) c
where name in (select top 2 d.name from (select a.id,a.name,b.subject,b.score from student a,score b where a.id=b.id) d
where d.subject=c.subject order by d.score desc)
order by subject
百度网友438c55e
2010-09-24 · TA获得超过244个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:155万
展开全部
select top 2 s.id, name, subject, score
from
student as s
join score as sc
on s.id = sc.id
group by subject
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
842491929
2010-09-24 · TA获得超过1332个赞
知道小有建树答主
回答量:557
采纳率:0%
帮助的人:383万
展开全部
select 学生罩兆.ID,name ,subject ,score
from 学生态闷森,成绩
where 学生.ID=成绩.ID AND
group by subject having rank(score)<=2;

回答楼上帆亩的:成绩的码应该是2个,这里的ID是外码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chaoxu1987
2010-09-24 · 超过25用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:64.5万
展开全部
select top 2 name,subject,score
from 学配卜生,成樱耐绩培颂穗
where 学生.id=成绩.id
order by score desc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e89d670f9
2010-09-25 · TA获得超过148个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:114万
展开全部
SELECT T.*,X.NAME FROM 成绩返晌表 T INNER JOIN 学漏亏锋生表 X
ON T.ID=X.ID
WHERE (SELECT COUNT(1) FROM 成绩表 WHERE SUBJECT=T.SUBJECT AND T.SCORE<SCORE )<空举2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式