ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 1780|回复: 6

[SQL] 【求助】又忘了,这个SQL文,不知道该如何写了

[复制链接]
求职 : 数据库开发
认证徽章
论坛徽章:
17
马上有车
日期:2015-08-24 15:25:59马上有对象
日期:2015-08-24 15:25:59马上有房
日期:2015-08-24 15:25:59马上有钱
日期:2015-07-31 10:04:43马上加薪
日期:2015-08-24 15:26:00秀才
日期:2015-10-19 15:49:55
发表于 2018-1-15 15:20 | 显示全部楼层 |阅读模式
本帖最后由 DJQTDJ 于 2018-1-15 15:20 编辑

表1
No Name
1  熊大
2  熊二
3  光头强
4  蹦蹦
5  萝卜头

表2
Name ExamNumber MathScore EnglishScore
   熊大 1 90 30
   熊大 2 95 30
   熊大 3 90 50
   熊大 4 100 10
   熊大 5 90 60
   熊二 1 50 50
   光头强 1 100 100
   蹦蹦 1 40 50
   蹦蹦 2 50 60
   萝卜头 1 30 20
   萝卜头 2 20 40
   萝卜头 3 50 50


我想取得,每个人最后一次考试的成绩是多少,并把 表1 和 表2 整合成一张大表,变成下面这样
  No Name    ExamNumber  MathScore EnglishScore
1 熊大 5 90 60
2 熊二 1 50 50
3 光头强 1 100 100
4 蹦蹦 2 50 60
5 萝卜头 3 50 50







这个SQL文我应该怎么写呢??


求职 : 数据库开发
认证徽章
论坛徽章:
17
马上有车
日期:2015-08-24 15:25:59马上有对象
日期:2015-08-24 15:25:59马上有房
日期:2015-08-24 15:25:59马上有钱
日期:2015-07-31 10:04:43马上加薪
日期:2015-08-24 15:26:00秀才
日期:2015-10-19 15:49:55
发表于 2018-1-15 15:20 | 显示全部楼层
不想用那种 联合查询 的

使用道具 举报

回复
论坛徽章:
271
秀才
日期:2016-11-09 14:32:17秀才
日期:2017-01-20 11:00:36秀才
日期:2017-01-20 11:04:31妮可·罗宾
日期:2017-01-13 16:26:01秀才
日期:2016-05-20 15:09:32射手座
日期:2016-05-26 14:02:50双子座
日期:2016-05-25 16:05:44白羊座
日期:2016-05-23 11:49:19金牛座
日期:2017-12-25 10:42:55双鱼座
日期:2016-04-29 17:13:05
发表于 2018-1-15 17:53 | 显示全部楼层
SQL> select t1.no, t1.name, examnumber, mathscore, englishscore
  2    from t1,
  3         (select name, examnumber, mathscore, englishscore
  4            from (select name,
  5                         examnumber,
  6                         mathscore,
  7                         englishscore,
  8                         max(examnumber) over(partition by name) max_examnumber
  9                    from t2)
10           where max_examnumber = examnumber) t3
11   where t1.name = t3.name
12   order by 1
13  /
                                     NO NAME                                                        EXAMNUMBER                               MATHSCORE                            ENGLISHSCORE
--------------------------------------- ------------------------------ --------------------------------------- --------------------------------------- ---------------------------------------
                                      1 熊大                                                                 5                                      90                                      60
                                      2 熊二                                                                 1                                      50                                      50
                                      3 光头强                                                               1                                     100                                     100
                                      4 蹦蹦                                                                 2                                      50                                      60
                                      5 萝卜头                                                               3                                      50                                      50

使用道具 举报

回复
论坛徽章:
20
秀才
日期:2017-08-11 15:38:46秀才
日期:2018-01-02 15:05:41秀才
日期:2018-01-02 15:13:25秀才
日期:2018-01-02 15:17:54秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:05:41
发表于 2018-1-15 19:43 | 显示全部楼层
SELECT t1.no,
       t2.name,
       MAX(t2.examnumber),
       MAX(t2.mathscore) keep(dense_rank LAST ORDER BY t2.examnumber) math,
       MAX(t2.englishscore) keep(dense_rank LAST ORDER BY t2.examnumber) eng
  FROM t1, t2
WHERE t1.name = t2.name
GROUP BY t1.no, t2.name

使用道具 举报

回复
论坛徽章:
396
兰博基尼
日期:2013-12-15 15:36:432014年世界杯参赛球队: 洪都拉斯
日期:2014-06-25 08:25:55itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-10-01 15:27:22itpub13周年纪念徽章
日期:2014-10-09 12:04:18马上有钱
日期:2014-10-14 21:37:37马上有钱
日期:2015-01-22 00:39:13喜羊羊
日期:2015-02-20 22:26:07懒羊羊
日期:2015-02-21 22:03:31懒羊羊
日期:2015-03-04 14:52:11
发表于 2018-1-16 08:58 | 显示全部楼层
DJQTDJ 发表于 2018-1-15 15:20
不想用那种 联合查询 的

什么叫联合查询?

使用道具 举报

回复
认证徽章
论坛徽章:
6
林肯
日期:2013-07-30 18:00:55优秀写手
日期:2014-10-23 06:00:14马上有对象
日期:2015-01-16 13:26:19懒羊羊
日期:2015-03-04 14:52:112015年新春福章
日期:2015-03-06 11:58:18秀才
日期:2015-12-14 15:09:38
发表于 2018-1-16 10:03 | 显示全部楼层
这个和之前的每日一题很像:http://www.itpub.net/thread-2096275-1-1.html

使用道具 举报

回复
论坛徽章:
396
兰博基尼
日期:2013-12-15 15:36:432014年世界杯参赛球队: 洪都拉斯
日期:2014-06-25 08:25:55itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-10-01 15:27:22itpub13周年纪念徽章
日期:2014-10-09 12:04:18马上有钱
日期:2014-10-14 21:37:37马上有钱
日期:2015-01-22 00:39:13喜羊羊
日期:2015-02-20 22:26:07懒羊羊
日期:2015-02-21 22:03:31懒羊羊
日期:2015-03-04 14:52:11
发表于 2018-1-16 13:24 | 显示全部楼层
sse_zero 发表于 2018-1-16 10:03
这个和之前的每日一题很像:http://www.itpub.net/thread-2096275-1-1.html

简单查询(仅仅使用过滤条件,不用连接、聚合、子查询等等)

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表