| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1797 人关注过本帖
标题:[求助]挑战自我,发几道难题,没几人会做,欢迎交流!谢谢!
取消只看楼主 加入收藏
小明的故事
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-6-2
结帖率:0
收藏
 问题点数:0 回复次数:4 
[求助]挑战自我,发几道难题,没几人会做,欢迎交流!谢谢!

学生管理数据库有如下三个表:

学生表:

Xo2iO15J.rar (2.76 KB) [求助]挑战自我,发几道难题,没几人会做,欢迎交流!谢谢!




rudlSfYZ.gif (4.58 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册


u0k8uw57.gif (8.15 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册


Iar09saS.gif (4.78 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 难题 挑战 交流 欢迎 
2007-06-02 14:02
小明的故事
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-6-2
收藏
得分:0 
版主会吗,请问,真的发了好几个论坛都没人答的出,好多答案都是错的!
2007-06-03 10:39
小明的故事
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-6-2
收藏
得分:0 
楼上两位,自己不懂就别以小人之心看别人!说话请客气点!
1、如果是求作业何必发这么多天,都差不多考试了,我想这作业也拖太久了吧,你是老师,你会不会让学生拖那么久不交作业,你是学生,要完成作业,不会做难道不会抄别人的吗,如果不想抄,你不会直接问老师吗?
2、是不能讲,还是不会讲,不要在这里现神气,其他论坛我也发了,人家还不是一样热心解答,有你这种人吗?尽管人家的答案是错了,但还是感激别人,你不想说不求你,也没人逼你回答,不要在这里吱吱歪歪,显得自己好吊的样子!是金子是垃圾,谁都不知?
3、发这道题,是一本书上的题目,但没参考答案,自己想了好久实在想不出来,才发上来大家讨论解答的,大家不想回答就算了,但我也这论坛应该也不缺乏好心人,不会全是只会说别人,不会说自己的渣子!
你们没有发过问题问别人,人家这么说你,你自己心里怎么想的,请大家将心比心,不要在这里放P!!!!
2007-06-04 12:04
小明的故事
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-6-2
收藏
得分:0 
首先声明,我自己做的也是经过思考的,思维方法是这样,但输入vfp6.0就是缺少必需子句!
我要强调一点,并不是说自己要有标准答案才能出来考别人,没有答案就是为了交作业,发出来只是想了解正确做法,和自己的思想对比,学到更多的东西,我可以把自己想的发出来,大家的提议我也能接受,感谢!
1、sele cnt(成绩表.课程号) from 学生管理数据库!成绩表 wher 成绩表.学号=(sele top 1 成绩表.学号 from 学生管理数据库!成绩表 order by 成绩表.成绩 desc)
2、sele * from 学生管理数据库!成绩表 wher 成绩表.学号=(sele top 1 成绩表.学号 from 学生管理数据库!成绩表 order by 成绩表.成绩)
3、sele * from 学生管理数据库!学生表 join 学生管理数据库!成绩表 on 学生表.学号=成绩表.学号;
wher 成绩表.成绩<(sele avg(成绩表.成绩) from 学生管理数据库!成绩表 grou by 成绩表.课程号);
and 成绩表.课程号=(sele 成绩表.课程号 from 学生管理数据库!成绩表 grou by 成绩表.课程号)

附:(这是在别的论坛上热心人解答的,虽然输入过是错的,但是也很感激他,他教会了用别名的方法)
(1): SELECT a.学号,a.姓名,b.课程号,b.成绩,c.课程名 FROM 学生表 a INNER JOIN 成绩表 b ON a.学号=b.学号 INNER JOIN 学分表 c ON b.课程号=c.课程号 WHERE STR(b.成绩,4,1)+b.课程号 in (SELECT STR(MAX(成绩),4,1)+课程号 FROM 成绩表 GROUP BY 课程号) ORDER BY 5 INTO CURSOR tmp1
(2). SELECT a.学号,a.姓名,b.课程号,b.成绩,c.课程名 FROM 学生表 a INNER JOIN 成绩表 b ON a.学号=b.学号 INNER JOIN 学分表 c ON b.课程号=c.课程号 WHERE STR(b.成绩,4,1)+b.课程号 in (SELECT STR(MIN(成绩),4,1)+课程号 FROM 成绩表 GROUP BY 课程号) ORDER BY 5 INTO CURSOR tmp2
(3) SELECT aa.* FROM (SELECT a.学号,a.姓名,b.课程号,b.成绩,c.课程名 FROM 学生表 a INNER JOIN 成绩表 b ON a.学号=b.学号 INNER JOIN 学分表 c ON b.课程号=c.课程号 ) aa INNER JOIN (SELECT avg(成绩) as 成绩,课程号 FROM 成绩表 GROUP BY 课程号) bb ON aa.课程号=bb.课程号 WHERE aa.成绩<bb.成绩 INTO CURSOR tmp3

虽然这种方法求出来的不是我所要的结果,但是最后一条命令却显示是错的,我也没搞明白是哪错,也请各位能够指点,我可以接受批评,但不喜欢乱爱胡说一通,没经过调查就发表与帖子不相关言论的人!
2007-06-05 19:02
小明的故事
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-6-2
收藏
得分:0 
感谢楼上的回答,不过好像还是不怎么正确,因为所有的成绩中,最高的是99分,有两人,应为S3和S5,但用楼上的输入后,查询得到的是s4,s3,s6和s5四个人的课程数,不知什么地方还要修改一下,我也在思考当中,呵,再次感谢!
2007-06-12 12:33
快速回复:[求助]挑战自我,发几道难题,没几人会做,欢迎交流!谢谢!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039419 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved