Day10—SQL那些事(特殊场景的查询)

文章目录

  • 1、只想查一个字段却不得不左连接好多张表
  • 2、左连接的时候只想取最后一条数据

1、只想查一个字段却不得不左连接好多张表

只想查一个字段却不得不左连接好多张表,而且因为左连接的表太多还导致查出来的数据重复

原先的sql

SELECT
	sph.po_num,
	chh.visa_exemption_flag 
FROM
	sodr_po_header sph
	LEFT JOIN sodr_po_line spl ON spl.po_header_id = sph.po_header_id
	LEFT JOIN cux_sprm_pr_line_hoc_assign csplha ON csplha.pr_line_id = spl.pr_line_id
	LEFT JOIN cux_hoc_header chh ON csplha.hoc_header_id = chh.hoc_header_id 
WHERE
	1 = 1 
	AND sph.po_header_id = '22993' 
	AND sph.tenant_id = 38

在这里插入图片描述

优化后的

SELECT
sph.po_num,
(select
			chh.visa_exemption_flag 
			from
				sodr_po_line spl 
			LEFT JOIN cux_sprm_pr_line_hoc_assign csplha ON csplha.pr_line_id = spl.pr_line_id 
			LEFT JOIN cux_hoc_header chh ON csplha.hoc_header_id = chh.hoc_header_id 
			where spl.po_header_id  = sph.po_header_id
			limit 1 ) as visa_exemption_flag 
FROM
	sodr_po_header sph
WHERE
	1 = 1 
	AND sph.po_header_id = '22993' 
	AND sph.tenant_id = 38

2、左连接的时候只想取最后一条数据

改动前sql:左连接时会连接所有数据

SELECT
	sprl.*
FROM
	sprm_pr_line sprl
	LEFT JOIN cux_sprm_pr_line_hoc_assign splha ON sprl.pr_line_id = splha.pr_line_id
	LEFT JOIN cux_hoc_line hol ON splha.hoc_line_id = hol.line_id
WHERE
	sprl.pr_line_id = 257198

在这里插入图片描述

在这里插入图片描述

改动后的sql:左连接时连接最后一条更新的数据

SELECT
	sprl.*
FROM
	sprm_pr_line sprl
	LEFT JOIN (select hoc_line_id,pr_line_id,MAX(last_update_date) as last_update_date from cux_sprm_pr_line_hoc_assign GROUP BY pr_line_id) temp on temp.pr_line_id = sprl.pr_line_id
	LEFT JOIN cux_sprm_pr_line_hoc_assign splha ON (temp.pr_line_id = splha.pr_line_id AND splha.last_update_date=temp.last_update_date)
	LEFT JOIN cux_hoc_line hol ON splha.hoc_line_id = hol.line_id
WHERE
	sprl.pr_line_id = 257198

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/138817.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SSM德庆县乡村教育图书管理系统-计算机毕设 附源码 24668

SSM德庆县乡村教育图书管理系统 摘 要 大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在德庆县乡村教育图书管理的要求下&…

centos7通过pip3在线下载python3第三方依赖包

更新pip pip3 install --upgrade pip安装requests ​ pip3 install requests -i https://pypi.doubanio.com/simple ​ 安装路径: /usr/local/lib/python3.6/site-packages 安装paho-mqtt ​ pip3 install paho-mqtt -i https://pypi.doubanio.com/simple ​ 安装…

哈希竞猜游戏开发源码部署方案

随着互联网技术的发展,越来越多的人开始关注网络安全问题,而哈希算法作为一种重要的加密技术,在网络安全领域得到了广泛应用。其中,哈希竞猜游戏作为一种新型的网络安全挑战赛,也受到了越来越多人的关注。本文将介绍哈…

LED显示屏老化知识

LED显示屏老化是指长时间使用后,LED显示屏性能逐渐下降和衰减的过程。虽然LED显示屏具有较长的寿命和良好的稳定性,但长期使用和环境因素会导致一定程度的老化现象。 LED显示屏为什么会老化 1. 亮度衰减:LED显示屏使用时间越长,LE…

高防CDN节点部署:流量攻击抵御的专业解决方案

随着网络攻击日益复杂和频繁,对于网站安全的需求也变得愈发迫切。高防CDN(Content Delivery Network)作为一种专业的网络安全解决方案,通过节点部署在全球范围内,能够有效抵御各种流量攻击,为网站提供可靠的…

2011年12月13日 Go生态洞察:从零到Go,在谷歌首页上的24小时飞跃

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

【EI会议征稿】第三届区块链、信息技术与智慧金融国际学术会议 (ICBIS2024)

第三届区块链、信息技术与智慧金融国际学术会议 (ICBIS2024) The 3rd International Academic Conference on Blockchain, Information Technology and Smart Finance 第三届区块链、信息技术与智慧金融国际学术会议 (ICBIS2024) 将于2024年2月23-25日在马来西亚举行。本次会…

成都瀚网科技有限公司抖音带货的正规

成都瀚网科技有限公司,一家在科技领域有着深厚积累的公司,近年来也开始涉足电子商务领域,特别是在抖音等短视频平台上进行带货活动。在这个充满机遇与挑战的时代,该公司以其独特的商业模式和运营策略,正在赢得消费者的…

Web安全之PHP的伪协议漏洞利用,以及伪协议漏洞防护方法

一、背景 今天介绍一个比较冷门的知识,只有在PHP环境中存在的伪协议漏洞,那么什么是PHP伪协议呢?PHP伪协议事实上就是支持的协议与封装协议。可用于类似 fopen()、 copy()、 file_exists() 和 filesize() 的文件系统函数。 除了这些封装协议…

JavaEE——网络原理(网络层 IP协议与数据链路层)

文章目录 一、详细解释 IP协议二、解释 TCP 和 IP 之间的联系和区别。三、IP协议——地址管理四、数据链路层 一、详细解释 IP协议 注:在这里我向大家描述的 IP协议是 IPv4。 如上图所示,这就是 IP 协议头的格式,下面我会分别解释他们其中每…

分布式数据库Schema 变更 in F1 TiDB

分布式数据库Schema 变更 in F1 & TiDB 【转载】TiDB 源码阅读系列文章(十七)DDL 源码解析 | PingCAP 上述文章主要叙述了从DDL语句发起到执行的过程,简单介绍了弄一套相同的模式来后台处理数据回填,从而提高DDL的并发度的一…

Leetcode-104 二叉树的最大深度

递归实现 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* …

小红书app拉新校园版本地网推项目修改政策了 附一手官签渠道

小红书app拉新深受现在地推作业人员和网推作业人员还有校园推广项目的喜爱,简单价格高 可以通过”聚量推客“申请小红书校园版项目拉新 以下为最新价格政策和介绍,需要7天内活跃,按照活跃天数进行结算

响应式作文新闻资讯博客网站模板源码

模板信息: 模板编号:29081 模板编码:UTF8 模板分类:博客、文章、资讯、其他 适合行业:博客类企业 模板介绍: 本模板自带eyoucms内核,无需再下载eyou系统,原创设计、手工书写DIVCSS&a…

subprocess 模块用法

如果你只关心命令的标准输出,并且希望在命令执行失败时引发异常,可以使用 check_output。如果你需要更多的控制,例如与正在运行的进程进行交互,可以使用 Popen。如果你希望获取标准输出和命令的状态码,可以使用 getsta…

前后端分离项目为什么很火?有什么优势?

目录 一、什么是前后端分离 二、前后端分离项目的技术栈 三、前后端分离项目有什么优势 一、什么是前后端分离 前后端分离是一种软件架构的设计模式,它将应用程序的前端(即用户界面)和后端(即服务器端)进行解耦,使得它们可以独…

Outlook如何删除邮箱账户

Outlook如何删除邮箱账户 说明: 最近有用户询问到“我的Outlook登陆了很多个邮箱账号,不知道怎么退出”接下来将具体操作步骤加以说明 操作指引: 1、首先打开Outlook该软件,然后点击“文件” 2、点击账户设置下拉菜单 3、在下拉…

Vue使用高德地图实现点击获取经纬度以及搜索功能

1. 首先在高德开放平台申请key值 2. 然后会在这个地方显示 3. 在VScode里面安装地图 yarn add amap/amap-jsapi-loader --save 4. 准备一个容器 <div id"maps"></div> <style scoped>#maps {width: 100%;height: 100%;position: relative;z-index…

使用SpringAOP+Redis实现接口处理幂等

文章目录 一、思路分析二、代码实战1、搭建SpringbootAOPRedis环境2、自定义注解3、切面类4、测试一下吧 一、思路分析 在调用后台接口时&#xff0c;由于用户多次点击或者说第三方重试&#xff0c;可能会导致幂等问题。 解决方案无非就是上一次请求没有处理完&#xff0c;第…
最新文章