not exist 解决一对多 场景 条件过滤问题
场景:
现在存在一对多关系,蓝色的盒子装的篮球,黄的的盒子装的黄球,
黑色的盒子 (模拟工作类似场景)
boxId | ballId |
---|---|
蓝盒ID-1 | 5 |
蓝盒ID-1 | 6 |
蓝盒ID-1 | 7 |
黄盒ID-2 | 12 |
黄盒ID-2 | 15 |
黄盒ID-2 | 16 |
黑盒ID-3 | 8 |
黑盒ID-3 | 9 |
需求:
例如 6,7,15这三个球为坏球,我现在不想查出这三个球以及他们所属的盒子的数据。
正常的left join where 实现不了这个效果。
select * from boxleft join Ball ON Box.id = Ball.boxIdwhere Ball.boxId not in (6,7,15)
查出的效果:
boxId | ballId |
---|---|
蓝盒ID-1 | 5 |
黄盒ID-2 | 12 |
黄盒ID-2 | 16 |
黑盒ID-3 | 8 |
黑盒ID-3 | 9 |
但其实想要的效果是:
boxId | ballId |
---|---|
黑盒ID-3 | 8 |
黑盒ID-3 | 9 |
因为 6,7都属于蓝盒ID-1这个组,6,7为坏球 ,只要蓝盒ID-1的数据我就要过滤掉
15 同理,属于黄盒ID-2,只要是黄盒ID-2的数据就要过滤掉。
所以 思路就是
先根据目标坏球 查出对应的盒子Id,再根据盒子Id来过滤。
select box.id,* from boxleft join Ball ON Box.id = Ball.boxIdwhere xxxand NOT EXISTS(select t.id from Ball t where t.id in (6,7,15) where t.id = box.id)
当然不用exist 用in也可以实现,这里就是给出了一种解决思路。
相关文章:
not exist 解决一对多 场景 条件过滤问题
场景: 现在存在一对多关系,蓝色的盒子装的篮球,黄的的盒子装的黄球, 黑色的盒子 (模拟工作类似场景) boxIdballId蓝盒ID-15蓝盒ID-16蓝盒ID-17黄盒ID-212黄盒ID-215黄盒ID-216黑盒ID-38黑盒ID-39 需求&a…...

解决$‘r‘ command not found或者文件夹显示’tvsf 33‘$‘r‘
问题现象: 某客户反馈在执行脚本的时候文件夹显示存在问题,如下图: 但是脚本文件中的内容并没有\r字符,如下图: 也有客户反馈如下: 问题分析: $\r’是回车符的转义表示。在Unix和Linux系统中,回车符是一个不可见的控制字符,它通常用于文本文件中的行结尾。以上…...

linux:详解nohup命令
在 UNIX 和类 UNIX 操作系统(如 Linux 和 macOS)中,nohup 意图为后台运行且免疫挂断信号的命令,用于在用户注销(logout)或终端关闭后继续运行相应的进程。 基本语法 启动进程 nohup [COMMAND] [ARG...] …...

负载箱:充电桩测试利器
RCD负载箱是用于测试和验证电气设备在故障状态下的性能的设备。它可以模拟真实的负载情况,从而帮助工程师和技术人员对设备进行准确的检测和维护。此外,RCD负载箱也是一种重要的安全保护设备,主要用于防止电路中的漏电现象引发的事故。它通常…...

Ubuntu 开机自启动 .py / .sh 脚本,可通过脚本启动 roslaunch/roscore等
前言 项目中要求上电自启动定位程序,所以摸索了一种 Ubuntu 系统下开机自启动的方法,开机自启动 .sh 脚本,加载 ROS 环境的同时启动 .py 脚本。在 . py 脚本中启动一系列 ROS 节点。 一、 .sh 脚本的编写 #!/bin/bash # gnome-terminal -- …...
RabbitMQ 消息队列:生产者与消费者实现详解
在分布式系统中,消息队列(Message Queue, MQ)是一种重要的组件,用于解耦系统、异步处理任务以及实现系统间的通信。RabbitMQ 是一个流行的开源消息代理软件,它实现了高级消息队列协议(AMQP)。在…...
vue3项目中组件切换不起作用
以下这种方式写页面中组件切换,不起作用。 <component :is"steps[compIndex].comp" />解决:使用shallowReactive或者shallowRef把对应的组件名称重新定义下。 <component :is"compNames[steps[compIndex].comp]" /> &…...

YOLOv11改进策略【损失函数篇】| Slide Loss,解决简单样本和困难样本之间的不平衡问题
一、本文介绍 本文记录的是改进YOLOv11的损失函数,将其替换成Slide Loss,并详细说明了优化原因,注意事项等。Slide Loss函数可以有效地解决样本不平衡问题,为困难样本赋予更高的权重,使模型在训练过程中更加关注困难样…...

动静态库(Linux)
文章目录 前言一、静态库二、动态库三、深入理解动态库总结 前言 我们之前用过c语言的库.Linux中默认的都是使用动态库,如果想要使用静态库,就必须加上-static选项。默认都是安装的动态库,系统中一般没有静态库,如果要使用&#…...
51单片机和ARM单片机的区别
在嵌入式系统设计与应用中,单片机作为核心控制单元,扮演着至关重要的角色。其中,51单片机和ARM单片机作为两种常见的单片机类型,各自具有独特的特点和优势。本文将从多个维度深入探讨这两种单片机的区别,以便读者更好地…...
[Day 81] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
區塊鏈在食品安全中的應用 前言 食品安全一直是全球關注的問題,隨著全球供應鏈的複雜性增加,追踪食品從生產到消費的過程變得愈發困難。區塊鏈技術以其去中心化、不可篡改的特性,為食品安全提供了可靠的解決方案。在這篇文章中,…...

flac格式怎么转mp3?关于flac转为MP3的方法介绍
flac格式怎么转mp3?MP3格式经过压缩,相较于flac文件,显著减小了文件体积。这一特点使得音乐的存储和传输更加便捷,尤其适合移动设备以及存储空间有限的场景。由于MP3文件体积较小,分享音乐变得非常简单,无论…...

【笔记】KaiOS 系统框架和应用结构(APP界面逻辑)
KaiOS系统框架 最早自下而上分成Gonk-Gecko-Gaia层,代码有同名的目录,现在已经不用这种称呼。 按照官网3.0的版本迭代介绍,2.5->3.0已经将系统更新成如下部分: 仅分为上层web应用和底层平台核心,通过WebAPIs连接上下层,这也是kaios系统升级变更较大的部分。 KaiOS P…...

java项目实现钉钉异常告警实时监控
最近有个小伙伴问我,我们的项目核心业务的地方总是有异常,虽然有打印日志,但不能立马通知我;所以今天我就教大家如何实现异常报警实时提醒 1.需要有钉钉 自己新建的企业用户 2.建一个群,需要有三人以上;…...

Spring Boot应用:电子商务平台开发
第2章 关键技术简介 2.1 Java技术 Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译…...
怎么在Vue3项目中引入Vant组件库并使用?
文章目录 前言一、项目中使用步骤1.安装:2.样式的导入(2种方法)2.1 main.ts全局导入(平常自己的项目用的这个全局)2.2 按需引入组件样式 (简单介绍一下)1.安装插件2.配置插件 3.组件按需使用:App.vue 总结 …...

springboot中有哪些方式可以解决跨域问题
文章目录 什么是跨域解决方案CrossOrigin注解实现WebMvcConfigurer接口CorsFilter过滤器如何选择? 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 Talk is cheap ࿰…...

Temporal Dynamic Quantization for Diffusion Models阅读
文章目录 AbstractIntroductionBackgrounds and Related Works2.1 扩散模型2.2 量化2.3 量化感知训练和训练后量化 TemporalDynamic Quantization3.1 量化方法3.2 扩散模型量化的挑战3.3 TDQ模块的实现3.4 工程细节时间步的频率编码TDQ模块的初始化 Experimental SetupResults5…...

828华为云征文|华为云Flexus X实例性能实测:速度与稳定性的完美结合
828华为云征文|华为云Flexus X实例性能实测:速度与稳定性的完美结合 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、实践环境介绍2.1 本次实践环境规划2.2 本次实践介绍 …...

【PyTorch】图像分割
图像分割是什么 Image Segmentation 将图像每一个像素分类 图像分割分类 超像素分割:少量超像素代替大量像素,常用于图像预处理语义分割:逐像素分类,无法区分个体实例分割:对个体目标进行分割全景分割:…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...

ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
【WebSocket】SpringBoot项目中使用WebSocket
1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖,添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...
土建施工员考试:建筑施工技术重点知识有哪些?
《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目,核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容,附学习方向和应试技巧: 一、施工组织与进度管理 核心目标: 规…...
前端工具库lodash与lodash-es区别详解
lodash 和 lodash-es 是同一工具库的两个不同版本,核心功能完全一致,主要区别在于模块化格式和优化方式,适合不同的开发环境。以下是详细对比: 1. 模块化格式 lodash 使用 CommonJS 模块格式(require/module.exports&a…...
虚幻基础:角色旋转
能帮到你的话,就给个赞吧 😘 文章目录 移动组件使用控制器所需旋转:组件 使用 控制器旋转将旋转朝向运动:组件 使用 移动方向旋转 控制器旋转和移动旋转 缺点移动旋转:必须移动才能旋转,不移动不旋转控制器…...