用in函数嵌入子查询作为条件时查出结果为空
用in函数嵌入子查询作为条件时查出结果为空
问题:
SELECT * FROM SGGCDB_VIEW sv WHERE RES_ID IN (SELECT urrv.RES_ID FROM IBPS_ERP.USER_ROLE_RES_VIEW urrv WHERE urrv.ID_ = '1069978138403930112'
)
结果未空值。
原因:
- 首先,
SELECT urrv.RES_ID FROM IBPS_ERP.USER_ROLE_RES_VIEW urrv WHERE urrv.ID_ = '1069978138403930112'查询结果为

- 再来考虑,
expression [NOT] IN (subquery)subquery- 子查询返回一列的结果集以测试匹配。该列还必须具有与表达式相同的数据类型。 - 还有,
–只要子查询中返回值包含null值,不要使用not in,因为not in 等同与<> ALL(不等于所有值),就包括<>null ,然后不管是=null还是<>null 都是否,因为判断为空用is null,is not null
比如,a not in(10,null)相当于a!=10 and a!=null,然而a!=null永远为假
所以正确的方法,去掉子查询空值
SELECT urrv.RES_ID FROM IBPS_ERP.USER_ROLE_RES_VIEW urrv WHERE urrv.RES_ID IS NOT NULL
- 那问题还是查询结果为空
那是因为,子查询作为in的条件时是以整列作为条件,意思就是
SELECT a.name FROM a ;
结果是
| name |
|---|
| 张三 |
| 李四 |
| 王五 |
执行语句
SELECT b.* FROM b WHERE b.name IN ( SELECT a.name FROM a ) ;
等同于
SELECT b.* FROM b WHERE b.name IN ( '张三','李四','王五' ) ;
但是如果,执行语句
SELECT c.name FROM c ;
结果为
| name |
|---|
| 张三,李四,王五 |
| 赵六 |
执行语句
SELECT b.* FROM b WHERE b.name IN ( SELECT c.name FROM c ) ;
等同于
SELECT b.* FROM b WHERE b.name IN ( '张三,李四,王五','赵六' ) ;
所以结果永远不可能匹配,因为没有一个b.name=‘张三,李四,王五’ ,因为没有人的名字叫【张三,李四,王五】,最多匹配到b.name=‘赵六’,因为数据中真的有人名字叫做【赵六】的
- 处理方法:
SELECT REGEXP_SUBSTR( xx.RES_ID ,'[^,]+', 1, level )
FROM ( SELECT * FROM (SELECT urrv.RES_ID FROM IBPS_ERP.USER_ROLE_RES_VIEW urrv WHERE urrv.RES_ID IS NOT NULL AND urrv.ID_ = '1069978138403930112' ) WHERE rowNum < 2 ) xx
CONNECT BY REGEXP_SUBSTR(xx.RES_ID ,'[^,]+', 1, level ) IS NOT NULL ;
结果

完整:
SELECT * FROM SGGCDB_VIEW sv WHERE RES_ID IN (
SELECT REGEXP_SUBSTR( xx.RES_ID ,'[^,]+', 1, level )
FROM ( SELECT * FROM (SELECT urrv.RES_ID FROM IBPS_ERP.USER_ROLE_RES_VIEW urrv WHERE urrv.RES_ID IS NOT NULL AND urrv.ID_ = '1069978138403930112' ) WHERE rowNum < 2 ) xx
CONNECT BY REGEXP_SUBSTR(xx.RES_ID ,'[^,]+', 1, level ) IS NOT NULL
);
相关文章:
用in函数嵌入子查询作为条件时查出结果为空
用in函数嵌入子查询作为条件时查出结果为空 问题: SELECT * FROM SGGCDB_VIEW sv WHERE RES_ID IN (SELECT urrv.RES_ID FROM IBPS_ERP.USER_ROLE_RES_VIEW urrv WHERE urrv.ID_ 1069978138403930112 )结果未空值。 原因: 首先,SELECT u…...
电商行业如何利用飞项解决跨部门协作难题
在电商行业中,跨部门合作是最常见的事。从产品方案到设计方案,从市场定价到销售策略,从采购需求到成本清单……在电商新品研发到正式售卖的过程中,存在着大量跨部门协作与逆向流程,但任务零碎、沟通难、进度难同步、文…...
全网最详细,Jmeter性能测试-性能基础详解,参数化函数取值(二)
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 参数化详解 Jmeter中…...
选择排序的简单理解
详细描述 选择排序的工作原理是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾…...
使用js封装一个循环链表
直接不说废话,直接上代码,这里继承了单向链表的类LinkList ,可以查看之前的文章,点这里 class Node {constructor(element) {this.element element;this.next null;} }class CirularLinkedList extends LinkList {constructor(…...
NumPy 秘籍中文第二版:二、高级索引和数组概念
原文:NumPy Cookbook - Second Edition 协议:CC BY-NC-SA 4.0 译者:飞龙 在本章中,我们将介绍以下秘籍: 安装 SciPy安装 PIL调整图像大小比较视图和副本翻转 Lena花式索引位置列表索引布尔值索引数独的步幅技巧广播数…...
新品-图灵超频工作站GT430M介绍
曾经历史 UltraLAB GTxxxM系列是西安坤隆公司专注于超频高速计算应用的图形工作站。 2008年 获取排名第一、二的中国象棋软件均采用该机型。 2019年 推出采用Intel 超频Xeon(28核4.8GHz)显著提升电磁仿真频域算法求解、第一个解决8K视频解码与渲染。 今…...
js时间格式化精确到毫秒
/*** 数字前置补零* param value 值* param length 位数* returns {string}*/ export function digit(value, length 2) {if (typeof value "undefined" ||value null ||String(value).length > length) {return value;}return (Array(length).join("0&qu…...
QT样式表详解
本文详细介绍qt的样式表,包含样式表如何使用,常见语句和选择器。 背景说明 样式表用于设置外观,他是设置控件外观的方式之一。其他方式如下: 控件的成员函数,如QWidget::setBackground样式表调色板 优先级依次提高…...
最值得入手的好物有哪些,推荐几款实用的数码好物
随着科技的进步,越来越多的数码产品不断的出现在我们的生活中,这其中也不乏一些实用的数码产品,让我们可以享受更舒适的生活,提高我们的工作效率。下面就给大家分享几款我最近使用过的一些数码产品,它们不仅功能强大而…...
【20230407】NVIDIA显卡算力、Jetson比较
1 基本概念 1.1 算力单位 TOPS:指的是每秒钟可以执行的整数运算次数,它代表着计算机在处理图像、音频等任务时的处理能力。TOPS的单位是万亿次每秒(trillion operations per second)。一般是指整数运算能力INT8。 TFLOPS&#…...
dsl语法
查询 1.查询所有(默认有分页查询) #查询所有 GET /hotel/_search {"query": {"match_all": {}} } 2.match查询(条件查询)-----包含四川和外滩的信息,信息匹配度越高越靠前,两者存在一…...
不让CPU偷懒
文章资料摘自——《程序员的自我修养》 为了防止cpu执行完该程序后需要等待程序员手动加入下一个程序,才可以继续运行,这里大大浪费了cpu的效率,要知道cpu是十分昂贵的。 多道程序 在计算机发展的早期,CPU使用十分不方便&#x…...
动力节点王鹤SpringBoot3笔记——第七章 视图技术Thymeleaf
目录 第七章 视图技术Thymeleaf 前言 7.1 表达式 7.2 if-for 第七章 视图技术Thymeleaf 前言 Thymeleaf 是一个表现层的模板引擎, 一般被使用在 Web 环境中,它可以处理 HTML, XML、 JS 等文档,简单来说,它可以将 JSP 作…...
从比特保存和信息保存看数字资源长期保存
引用IBM以色列海法实验室的观点,数字资源长期保存包含两个层面含义,即比特保存与信息保存。也就是说,要实现数字资源的长期保存,必须同时做到比特保存和信息保存。 一 概念 01 比特保存,也叫物理保存,主…...
兰伯特光照模型(Lambert Lighting)和半兰伯特光照模型(Half-Lanbert)
关于漫反射 光打到凹凸不平的平面上,光线会被反射到四面八方,被称为漫反射 关于这种模型,由于光线由于分散,所以进入人眼的光线强度和观察角度没有区别 在A点和B点接收到的光线强度是一样的 在漫反射下,光线强度只和光…...
Python 进阶指南(编程轻松进阶):二、环境配置和命令行
原文:http://inventwithpython.com/beyond/chapter2.html 环境配置是配置你的计算机环境,以便你写代码的过程。这包括安装任何必要的工具,配置它们,以及处理安装过程中的任何问题。没有一键配置这种傻瓜式操作过程,因为…...
求职半年,三月成功拿到阿里offer,分享一波面经...
前言 不论是校招还是社招都避免不了各种⾯试、笔试,如何去准备这些东⻄就显得格外重要。不论是笔试还是⾯试都是有章可循的,我这个“有章可循”说的意思只是说应对技术⾯试是可以提前准备,所谓不打无准备的仗就是这个道理。 以下为大家&…...
餐饮店的运营需要考虑哪些方面
餐饮店的运营需要多方面的考虑和规划,以下是传递宝APP上一些常用的餐饮店运营方法: 1.定位:明确餐饮店的定位和目标客户群体,针对不同的客户需求,提供个性化的服务和产品,比如是附近的上班族,还…...
Multi-modal Alignment using Representation Codebook
Multi-modal Alignment using Representation Codebook 题目Multi-modal Alignment using Representation Codebook译题使用表示代码集的多模态对齐期刊/会议CVPR 摘要:对齐来自不同模态的信号是视觉语言表征学习(representation learning)的…...
OpenClaw+nanobot科研利器:自动抓取论文并生成综述
OpenClawnanobot科研利器:自动抓取论文并生成综述 1. 为什么需要自动化文献综述工具 作为一名经常需要跟踪前沿研究的科研工作者,我深刻体会到手动整理文献的痛苦。每次开题或写综述时,需要花费大量时间在arXiv、PubMed等平台反复搜索、下载…...
foobox-cn:让foobar2000焕发新生的界面增强工具
foobox-cn:让foobar2000焕发新生的界面增强工具 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 还在忍受foobar2000单调的默认界面吗?想让音乐播放体验更加赏心悦目且功能丰富…...
告别云端排队!用你的RTX 3060笔记本,15分钟搞定本地图生视频(FramePack保姆级配置)
用RTX 3060笔记本玩转AI视频创作:FramePack本地化实战指南 当在线AI视频生成服务需要排队等待时,拥有6GB显存的RTX 3060笔记本用户其实可以解锁更高效的创作方式。本文将带你探索如何利用FramePack这一创新工具,在消费级硬件上实现高质量的图…...
PX4 OFFBOARD模式实战:手把手教你用C++代码让无人机自主起飞(附心跳包避坑指南)
PX4 OFFBOARD模式深度实战:从心跳包机制到三维轨迹控制的完整实现 当你的无人机在OFFBOARD模式下突然失控坠落,或者莫名其妙地退出自主控制模式时,是否曾怀疑过自己的代码逻辑?这些问题往往源于对PX4底层通信机制理解不够深入。本…...
ORCAD TCL脚本菜单化加载与性能调优实践
1. ORCAD TCL脚本菜单化加载的必要性 作为一名在电子设计自动化领域摸爬滚打多年的工程师,我深刻理解ORCAD用户在使用TCL脚本时遇到的痛点。当你的脚本库逐渐壮大,每次启动ORCAD都要自动加载几十个脚本文件,那种等待的煎熬简直让人抓狂。我曾…...
智能风扇管家:FanControl如何让你的电脑安静又高效
智能风扇管家:FanControl如何让你的电脑安静又高效 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/Fa…...
实时手机检测模型应用场景:打电话检测、安防监控实战案例
实时手机检测模型应用场景:打电话检测、安防监控实战案例 1. 模型概述与技术优势 1.1 高性能检测框架DAMOYOLO 实时手机检测-通用模型基于DAMOYOLO-S框架开发,这是一种面向工业落地的高性能目标检测解决方案。相比传统YOLO系列方法,DAMOYO…...
3分钟看穿B站评论区:高效识别用户背景的精准秘诀
3分钟看穿B站评论区:高效识别用户背景的精准秘诀 【免费下载链接】bilibili-comment-checker B站评论区自动标注成分,支持动态和关注识别以及手动输入 UID 识别 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-comment-checker 在B站评论…...
【实战】多语言后端接入华为云IoT平台:从数据转发到命令下发全流程解析
1. 华为云IoT平台接入全景概览 华为云IoT平台作为国内领先的物联网解决方案,提供了从设备接入到应用开发的全套服务。在实际项目中,我们经常需要将Node.js/Python/Java等后端服务与IoT平台对接,实现设备数据的实时处理和远程控制。不同于简单…...
告别ODX文件!用AUTOSAR AP的SOVD协议,5分钟搞懂服务化诊断怎么玩
告别ODX文件!用AUTOSAR AP的SOVD协议,5分钟搞懂服务化诊断怎么玩 如果你是一名嵌入式软件工程师或诊断工程师,一定对传统UDS诊断中繁琐的ODX文件配置深恶痛绝。每次ECU升级都要重新生成和分发ODX文件,版本管理混乱,工具…...
