mysql中用逗号隔开的某字段,如何判断其他表的字段值是否在这个字段中

因为要增加需求,需要将线上表中老数据,修改为新数据的规则。
线上两张表,sequence_number中is_use有3作废、2到期状态,需要根据这个状态和school_ai_authorization中的is_deleted修改新增的state字段。
sequence_number表结构:蓝色为重要查询字段。
在这里插入图片描述school_ai_authorization表:
在这里插入图片描述
当然,细心的你看到了sequence_number_id,为什么没有用这个,因为数据库没有这个字段的数据。尴尬吧!

错误的查询方式
select saa.* from la_school_ai_authorize saa where saa.is_deleted = 1
and  saa.textbook_level_id in
(select textbook_level_id from la_sequence_number where is_use = 2)
and saa.school_id in
(select school_id from la_sequence_number where is_use = 2)
and saa.telephone in
(select telephone from la_sequence_number where is_use = 2)

在这里插入图片描述
in(1,2)in(3,4)in(5,6)因为三个in的意思是只要在后边的数据中就行,不是数据过滤。

正确用in
select saa.* from la_school_ai_authorize saa where saa.is_deleted = 1
and  (saa.textbook_level_id,saa.school_id,saa.telephone) in
(select textbook_level_id,school_id,telephone from la_sequence_number where is_use = 3)

这才是是根据sequence_number中到期数据,查询school_ai_authorize中被删除的数据是因为序列号到期还是作废。

还有个更恶心的东西,sequence_number中textbook_level_id并不只在这个字段中存在,还有个“,”拼接到textbook_level_ids字段中,所以这个也要查询出来。这里用到了find_in_set(字段,textbook_level_ids) > 0 如果存在,返回在textbook_level_ids中的位置。
SELECT saa.*
FROM la_school_ai_authorize saa
WHERE saa.is_deleted = 1 and 
EXISTS (SELECT 1 FROM la_sequence_number snWHERE sn.is_use = 2 and (FIND_IN_SET(saa.textbook_level_id, sn.textbook_level_ids) > 0 or saa.textbook_level_id = sn.textbook_level_id)and sn.school_id = saa.school_id and sn.telephone = saa.telephone
);
但是find_in_set查询效率比较慢,量大查询很长时间,所以可以用关联查询优化子查询。或者优化表结构ids就不该存在。或者加索引。
#用多表联查优化子查询。
SELECT DISTINCT saa.*
FROM la_school_ai_authorize saa INNER JOIN la_sequence_number sn
on sn.school_id = saa.school_id and sn.telephone = saa.telephone and sn.is_use = 2 and saa.is_deleted = 1 and (FIND_IN_SET(saa.textbook_level_id, sn.textbook_level_ids) > 0 or saa.textbook_level_id = sn.textbook_level_id)

记得用distinct不然数据会多的。

根据条件修改表
#is_use = 3 作废 state = 2
update la_school_ai_authorize_copy1 saa set saa.state = 2, saa.is_deleted = 0
WHERE saa.is_deleted = 1 and 
EXISTS (SELECT 1 FROM la_sequence_number snWHERE sn.is_use = 3 and (FIND_IN_SET(saa.textbook_level_id, sn.textbook_level_ids) > 0 or saa.textbook_level_id = sn.textbook_level_id)and sn.school_id = saa.school_id
);
#is_use = 2 已到期 state = 3
update la_school_ai_authorize_copy1 saa set saa.state = 3, saa.is_deleted = 0
WHERE saa.is_deleted = 1 and 
EXISTS (SELECT 1 FROM la_sequence_number snWHERE sn.is_use = 2 and (FIND_IN_SET(saa.textbook_level_id, sn.textbook_level_ids) > 0 or saa.textbook_level_id = sn.textbook_level_id)and sn.school_id = saa.school_id and sn.telephone = saa.telephone
);
# 剩余是解绑的

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

温暖如初春:新生儿脸红小贴士

引言: 新生儿脸红是许多父母热切期待的瞬间之一。这种可爱的现象不仅令人陶醉,还可能是宝宝良好健康的标志。然而,在欣喜之余,父母也需要留意脸红背后的可能原因和注意事项,以确保宝宝的舒适和健康。 1. 探寻原因&…

通天星CMSV6 车载视频监控平台 信息泄露漏洞

漏洞描述 通天星CMSV6车载视频监控平台 StandardLoginAction getAlser.acion接口处存在信息泄露漏洞 fofa语句 body"/808gps/" 漏洞复现 打开页面 构造payload POST /808gps/StandardLoginAction_getAllUser.action HTTP/1.1 Host: User-Agent: Mozilla/5.0 (…

ASP.NET区域检验云LIS平台源码 标本全生命周期管理

目录 一、云LIS系统功能亮点 二、收费项目管理 三、检验项目管理 系统功能 云LIS系统源码是一款全面的实验室信息管理系统源码,其主要功能包括样本管理、检测项目管理、质控管理、报告管理、数据分析、两癌筛查等多个方面。具有独立的配套SaaS模式运维管理系统&…

轻量级内网穿透服务-nps

1. NPS概述: NPS(内网穿透代理服务器)是一款由TalentYoung开发的轻量级、高性能的内网穿透代理服务器。它的设计目标是简单易用、功能强大,可以帮助用户在公网上访问内网服务。 NPS支持TCP、UDP、HTTP等多种协议,并提…

翻转时钟效果

时分秒三个部分结构功能完全一致&#xff0c;均有四块构成&#xff0c;上下各两块。 正面可见&#xff0c;背面不可见&#xff0c;同时需要调整翻转过程中的z-index。 初始状态card2为已经翻转状态。 calendar.html <!DOCTYPE html> <html lang"en">&…

非常有用的Python 20个单行代码

有用的 Python 单行代码片段&#xff0c;只需一行代码即可解决特定编码问题&#xff01; 在本文中&#xff0c;云朵君将分享20 个 Python 一行代码&#xff0c;你可以在 30 秒或更短的时间内轻松学习它们。这种单行代码将节省你的时间&#xff0c;并使你的代码看起来更干净且易…

H5 带网站测速引导页源码

源码名称&#xff1a;带网站测速引导页源码 源码介绍&#xff1a;一款带网站测速功能的引导页源码 需求环境&#xff1a;H5 下载地址&#xff1a; https://www.changyouzuhao.cn/10717.html

H5 机器人插件官网源码

源码名称&#xff1a;机器人插件官网源码 源码介绍&#xff1a;一款H5自适应机器人插件官网源码&#xff0c;可自行修改用于各种机器人插件官网。 需求环境&#xff1a;H5 下载地址&#xff1a; https://www.changyouzuhao.cn/10774.html

基于单片机的直流电机调速系统设计

摘 要 在电子机械行业快速发展的今天&#xff0c;各类电子机械类产品以飞快的步伐进入到人们的视野中。为人们的生活带来极大的便利。同时也以各种不同的方式解放着生产力。在这些电子机械领域&#xff0c;电机无疑占着举足轻重的位置。现在各类工厂里的自动化生产线&#xff…

大数据与云计算

目录 一、大数据时代二、云计算——大数据的计算三、云计算发展现状四、云计算实现机制五、云计算压倒性的成本优势 一、大数据时代 我们先来看看百度关于 “大数据”&#xff08;Big Data&#xff09;的搜索指数。 可以看出&#xff0c;“大数据” 这个词是从2012年才引起关注…

MATLAB 四点确定唯一球面参数(44)

MATLAB 四点确定唯一球面参数(44) 一、算法简介二、算法实现1.代码2.结果一、算法简介 根据给定的四个点,快速拟合获取球的中心和半径,具体代码如下: 二、算法实现 1.代码 代码如下(示例): point1 = [0.0, 0.0, 0.0]

一种轻卡前视单目摄像头下线标定方法

本 文 介 绍 轻 卡 摄 像 头 的 下 线 标 定 要 求 和 方 法 &#xff0c; 包 括 工 站 搭 建 要 求 、 前 视 摄 像 头 的 安 装 要求 &#xff0c; 详 细 阐 述 摄 像 头 的 下 线 标 定 流 程 &#xff0c; 最 后 列 举 常 见 的 下 线 标 定 失 败 原 因 及 对 策 。 安装在…

Spring Boot 中使用 Redis + Aop 进行限流

Spring Boot 中使用 Redis 进行限流&#xff0c;通常你可以采用如下几种方式&#xff1a; 令牌桶算法&#xff08;Token Bucket&#xff09;漏桶算法&#xff08;Leaky Bucket&#xff09;固定窗口计数器&#xff08;Fixed Window Counter&#xff09;滑动日志窗口&#xff08…

Java:继承

目录 1.继承1.1为什么要使用继承&#xff1f;1.2继承的概念1.3对继承的理解1.4子类怎么访问父类的成员变量1.4.1不同名怎么访问&#xff1f;1.4.2同名怎么访问&#xff1f;(关键字&#xff1a;super) 1.5子类中访问父类的成员方法1.5.1不同名怎么访问&#xff1f;1.5.2同名怎么…

Apache DolphinScheduler-3.2.0集群部署教程

集群部署方案(2 Master 3 Worker) Apache DolphinScheduler官网&#xff1a;https://dolphinscheduler.apache.org/zh-cnApache DolphinScheduler使用文档&#xff1a;https://dolphinscheduler.apache.org/zh-cn/docs/3.2.0截止2024-01-19&#xff0c;最新版本&#xff1a;3…

Linux - 安装 Jenkins(详细教程)

目录 前言一、简介二、安装前准备三、下载与安装四、配置镜像地址五、启动与关闭六、常用插件的安装 前言 虽然说网上有很多关于 Jenkins 安装的教程&#xff0c;但是大部分都不够详细&#xff0c;或者是需要搭配 docker 或者 k8s 等进行安装&#xff0c;对于新手小白而已&…

BUGKU-WEB shell

题目描述 题目截图如下&#xff1a; 描述&#xff1a; $poc "a#s#s#e#r#t";$poc_1 explode("#", $poc);$poc_2 $poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5];$poc_2($_GET[s])进入场景看看&#xff1a;是一个空白的界面 解题思路 …

NCP1380BDR2G芯片中文资料规格书PDF数据手册引脚图图片参数功能价格

产品描述&#xff1a; NCP1380 是一款高性能器件&#xff0c;旨在为准谐振转换器供电。该控制器基于专属的谷锁闭系统&#xff0c;可以在功率负载变轻时进行切换并降低开关频率。这样将产生稳定的运行&#xff0c;即使在漏极-源极谷中总是触发的开关事件下也是如此。此系统可在…

让数据在业务间高效流转,镜舟科技与NineData完成产品兼容互认

近日&#xff0c;镜舟科技与NineData完成产品兼容测试。在经过联合测试后&#xff0c;镜舟科技旗下产品与NineData云原生智能数据管理平台完全兼容&#xff0c;整体运行高效稳定。 镜舟科技致力于帮助中国企业构建卓越的数据分析系统&#xff0c;打造独具竞争力的“数据护城河”…

探索 Spring 框架:企业级应用开发的强大工具

CSDN-个人主页&#xff1a;17_Kevin-CSDN博客 收录专栏&#xff1a;《Java》 目录 一、引言 二、Spring 框架的历史 三、Spring 框架的核心模块 四、Spring 框架的优势 五、Spring 框架的应用场景 六、结论 一、引言 在当今数字化时代&#xff0c;企业级应用开发的需求日…