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 将图像每一个像素分类 图像分割分类 超像素分割:少量超像素代替大量像素,常用于图像预处理语义分割:逐像素分类,无法区分个体实例分割:对个体目标进行分割全景分割:…...
基于springboot的中医院问诊知识科普系统的设计与实现-vue
目录系统架构设计前端技术选型模块划分关键技术实现开发阶段规划部署方案项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统架构设计 采用前后端分离架构,前端使用Vue.js框架,后端基于SpringBoot构建R…...
Beyond Compare 5 三步快速激活方案:从评估错误到专业版授权的完整指南
Beyond Compare 5 三步快速激活方案:从评估错误到专业版授权的完整指南 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen Beyond Compare 5 作为业界领先的文件比对与合并工具…...
效率飙升:借助快马平台生成全自动OpenClaw本地部署一体化工具
最近在折腾OpenClaw的本地部署时,发现传统方式实在太费时间了。每次都要手动查文档、拼命令、调环境,经常卡在某个依赖项版本冲突上。后来尝试用InsCode(快马)平台生成了一体化部署工具,效率直接翻倍。这里分享下具体实现思路和优化点&#x…...
用 OpenAI Codex 打造你的 AI 结对编程助手
用 OpenAI Codex 打造你的 AI 结对编程助手 告别重复劳动,让 AI 直接帮你写代码、修 Bug、跑测试 在 AI 编程工具层出不穷的今天,OpenAI Codex 依然是许多开发者心目中的“神器”。与普通的代码补全工具不同,Codex 是一款终端原生的 AI 编程助…...
告别模糊地图!5分钟教你用leafletwx实现微信小程序高清地图渲染
5分钟实战:用leafletwx为微信小程序打造视网膜级高清地图 第一次在小程序里集成地图时,我盯着屏幕上模糊的路线和文字皱起了眉头——原生map组件在高端手机上的表现简直像回到了像素游戏时代。直到发现leafletwx这个开源神器,才明白原来微信小…...
如何守护.NET应用源代码安全?Obfuscar开源混淆方案深度解析
如何守护.NET应用源代码安全?Obfuscar开源混淆方案深度解析 【免费下载链接】obfuscar Open source obfuscation tool for .NET assemblies 项目地址: https://gitcode.com/gh_mirrors/ob/obfuscar 在数字化时代,.NET应用程序面临着严峻的源代码安…...
3步解锁数据自由:WeChatMsg让聊天记录成为数字资产
3步解锁数据自由:WeChatMsg让聊天记录成为数字资产 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMs…...
OpenClaw安全防护配置:Qwen3.5-9B任务执行边界与权限控制
OpenClaw安全防护配置:Qwen3.5-9B任务执行边界与权限控制 1. 为什么需要安全防护? 当我第一次在本地部署OpenClaw时,最让我不安的是这个AI助手拥有和我一样的系统权限。它能读写我的文件、发送邮件、甚至执行终端命令——这种能力就像把家门…...
跨平台哔哩哔哩内容管理神器:BiliTools全方位使用指南
跨平台哔哩哔哩内容管理神器:BiliTools全方位使用指南 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/GitHub_Trending/bilit/Bili…...
DHTesp库详解:ESP32/ESP8266高可靠温湿度驱动与环境参数计算
1. DHTesp 库深度解析:面向 ESP32/ESP8266 的高可靠性温湿度传感驱动1.1 库的诞生背景与工程必要性DHTesp 并非简单的 Arduino 兼容库移植,而是在特定硬件约束下催生的工程化解决方案。其核心驱动力源于 ESP32 多核架构对传统单线协议(1-Wire…...
