背景:

A表、B表两表关联,关联出来的结果里B表有不止一条,需求是只要B表结果中的某一条(按某字段排序)

经过百度,发现 row_number() over(partition by a order by b desc)函数可用(需要说明下,order by 必须有缺少会报错),以下是数据环境及结果。

创建数据环境

create table A(ANAME varchar(20));

insert into A values('alan');

insert into A values('Alee');

insert into A values('aspn');

create table B

(

BNo varchar(10),

BTell varchar(20),

Name varchar(20)

);

insert into B values('NO1','1366666','alan');

insert into B values('NO1','1388888','alan');

insert into B values('NO1','1399999','alan');

insert into B values('NO2','1333333','Alee');

insert into B values('NO3','1311111','aspn');

insert into B values('NO3','1322222','aspn');

直接关联查询的话,结果如下

需求是只要每个人的第一条记录(按BTELL排序)

select *

from a

left join (select *

from (select b. *,

(row_number()

over(partition by bno order by BTell desc)) px

from b) e

where px = 1) t

on a.aname = t.name;

查询结果如下

oracle两张表数据匹配,Oracle-left join两表关联只取B表匹配到的第一条记录相关推荐

  1. oracle两个表数据比较,oracle数据库两表数据比较

    1 引言 在程序设计的过程中,往往会遇到两个记录集的比较.如华东电网PMS接口中实现传递一天中变更(新增.修改.删除)的数据.实现的方式有多种,如编程存储过程返回游标,在存储过程中对两批数据进行比较等 ...

  2. oracle分组查询取第一条数据,160804、oracle查询:取出每组中的第一条记录

    oracle查询:取出每组中的第一条记录 按type字段分组,code排序,取出每组中的第一条记录 方法一: select type,min(code) from group_info group b ...

  3. oracle如何删除重复数据第一条,oracle删除重复数据保留第一条记录

    oracle删除重复数据保留第一条记录 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断select * from 表 where Id in (select Id from 表 gr ...

  4. oracle如何删除重复数据保留第一条记录

    oracle删除重复数据保留第一条记录 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 g ...

  5. excel两张表格数据整合

    今天跟大家分享一下excel两张表格数据整合 1.首先我们打开excel文件,然后点击如下图选项 2.点击[汇总拆分]选择[合并多表] 3.将[表头行数]设置为2 4.勾选[合并后,标注源工作表],并 ...

  6. mysql查询数据库第一条记录_SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)...

    Sqlserver 获取每组中的第一条记录 在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属于不同的方面.功能下面,从数据库的术语来说,就是查找出每组 ...

  7. oracle sql取查询结果第一条,SQL获取第一条记录的方法(sqlserver、oracle、mysql数据库)...

    Sqlserver 获取每组中的第一条记录 在日常生活方面,我们经常需要记录一些操作,类似于日志的操作,最后的记录才是有效数据,而且可能它们属于不同的方面.功能下面,从数据库的术语来说,就是查找出每组 ...

  8. oracle和sql server取第一条记录的区别以及rownum详解

    我们知道学生可能有重名的情况,那么当重名的时候假设只需要取得重名结果集中的第一条记录. sql server:select top(1) num,Name from M_Student where n ...

  9. 160804、oracle查询:取出每组中的第一条记录

    oracle查询:取出每组中的第一条记录 按type字段分组,code排序,取出每组中的第一条记录 方法一: select type,min(code) from group_info  group ...

最新文章

  1. html5 游戏制作软件,制作h5小游戏的免费软件有哪些?
  2. SAP EWM - 物料主数据 - EWM系统包装视图属性
  3. 商务礼仪 细节决定成败
  4. python能和c语音交互吗_Python与C交互概述
  5. 干货 | 数万实例数百TB数据量,携程Redis治理演进之路
  6. [转载] 羽毛球——学打羽毛球 09 步法的基本概念
  7. CSDN转载别人文章的详细步骤
  8. CVPR 2017 《Deep Feature Flow for Video Recognition》论文笔记
  9. Linux学习之CentOS(二)--初识linux的一些常用命令
  10. Nginx安装及配置简介
  11. 添加日志_第五章springboot2.0添加aop日志实现记录请求地址
  12. 霍夫变换检测圆c 语言,c++ 霍夫变换检测直线
  13. 剑指offer:矩阵中的路径(递归回溯法DFS类似迷宫)
  14. pku1274 The Perfect Stall
  15. 如果secureCRT安装时位置改变,EVE-NG如何关联secureCRT
  16. 10个免费网络管理工具
  17. TIBCO Spotfire使用技巧:如何在Web网页中嵌入TIBCO Spotfire可视化视图
  18. 编写个人所得税计算程序
  19. ios 系统状态栏样式修改_iOS 导航栏颜色和状态栏颜色修改
  20. mac bookpro m1 笔记本关闭键盘屏幕 禁用键盘屏幕使用 键盘屏幕误触 Touch Bar禁用 禁用MacBook-Pro的触摸栏

热门文章

  1. 【雷达通信】基于matlab线性调频脉冲雷达仿真【含Matlab源码 2104期】
  2. 二值图像最小外接矩形(正)
  3. Unity3D之监听Hierachy、Project等视图结构变化的事件
  4. 记录一下川崎机器人实现FINS TCP 通讯
  5. InfiniBand网络简介
  6. 聊天室客户端和网页版的区别
  7. 955不加班公司名单,2021年6月版本
  8. VISIO 形状工具的位置
  9. ios沙箱软件_iOS应用软件沙盒sandbox相关知识(整理)
  10. Windows Server 2008 R2 配置AD(Active Directory)域控制器(图文教程)