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

 手机号登录  找回密码
 注册
查看: 4710|回复: 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 | 显示全部楼层
不想用那种 联合查询 的

使用道具 举报

回复
论坛徽章:
288
秀才
日期:2017-03-02 10:30:47布鲁克
日期:2016-10-08 10:06:50秀才
日期:2016-09-27 15:16:21秀才
日期:2016-09-27 15:11:30奥运会纪念徽章:自行车
日期:2016-09-26 15:54:59举人
日期:2016-06-24 09:25:21秀才
日期:2016-06-24 09:21:04双鱼座
日期:2016-06-15 17:14:38射手座
日期:2016-05-26 14:02:50白羊座
日期:2016-05-23 11:49:19
发表于 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

使用道具 举报

回复
求职 : 数据库开发
论坛徽章:
23
秀才
日期:2017-08-11 15:38:46秀才
日期: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:18:30秀才
日期:2018-03-01 10:05:18秀才
日期:2018-05-22 15:21:20
发表于 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

使用道具 举报

回复
论坛徽章:
399
优秀写手
日期:2013-12-18 09:29:08itpub13周年纪念徽章
日期: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:112015年新春福章
日期:2015-03-06 11:58:18
发表于 2018-1-16 08:58 | 显示全部楼层
DJQTDJ 发表于 2018-1-15 15:20
不想用那种 联合查询 的

什么叫联合查询?

使用道具 举报

回复
认证徽章
论坛徽章:
21
林肯
日期:2013-07-30 18:00:55秀才
日期:2018-05-22 15:17:21秀才
日期:2018-05-22 15:21:20技术图书徽章
日期:2018-05-22 15:21:47秀才
日期:2018-05-22 15:21:47秀才
日期:2018-05-22 16:13:08秀才
日期:2018-05-22 16:13:21技术图书徽章
日期:2018-05-22 16:13:30秀才
日期:2018-05-22 16:13:30技术图书徽章
日期:2018-05-22 15:17:21
发表于 2018-1-16 10:03 | 显示全部楼层
这个和之前的每日一题很像:http://www.itpub.net/thread-2096275-1-1.html

使用道具 举报

回复
论坛徽章:
399
优秀写手
日期:2013-12-18 09:29:08itpub13周年纪念徽章
日期: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:112015年新春福章
日期:2015-03-06 11:58:18
发表于 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号
  
快速回复 返回顶部 返回列表