一、项目需求:

需要获取包含一些流程变量(数量不确定,且必须都包含,不能只含其中某几个)的流程实例的实例id

二、详细说明:

1.流程变量表act_hi_varinst

字段:PROC_INST_ID_(流程实例id)、NAME_(变量名)、TEXT_(变量值)

图1

2.现在需要查询包含变量formId=142和approveType=sealApply的对应流程的实例id

如图1,只要查出红线框出的值,最终结果为

图2

三、代码实现

1.首先尝试了使用in的写法,查询结果跟图1一样(下面查询语句表达的意思是:找出包含变量值为formId=142或approveType=sealType的流程的实例id,多个变量条件只要有一个满足,就将该行取出来),该方法不可行

SELECTahv.PROC_INST_ID_,ahv.NAME_,ahv.TEXT_
FROMact_hi_varinst ahv
WHERE(ahv.NAME_, ahv.TEXT_) IN (('formId', '142'),('approveType', 'sealApply'));

参考链接:https://blog.csdn.net/Guanjs2016/article/details/80237490

2.(可行方案)尝试使用交集(mysql本身没有交集的实现,只能自己模拟实现了)

查询思路:先查满足单组变量键值对的流程实例id,将每个变量键值对作为条件都分别查出对应的流程实例id(当前例子下,会有两组流程实例id),最终对这两组流程实例id取交集,这样得到的就是想要的结果了

SELECTPROC_INST_ID_
FROM(SELECTahv.PROC_INST_ID_FROMact_hi_varinst ahvWHERE(ahv.NAME_, ahv.TEXT_) = ('formId', '142')UNION ALLSELECTahv.PROC_INST_ID_FROMact_hi_varinst ahvWHERE(ahv.NAME_, ahv.TEXT_) = ('approveType', 'sealApply')) t
GROUP BYPROC_INST_ID_
HAVINGcount(PROC_INST_ID_) = 2;

参考链接:https://blog.csdn.net/shuixiou1/article/details/85988924

mysql中如何获取交集相关推荐

  1. mysql 中关于获取行号@rownum:=@rownum+1

    mysql中没有获取行号的函数,因此需要通过一些自定义语句来进行获取.通常做法是,通过定义用户变量@rownum来保存表中的数据.通过赋值语句@rownum:=@rownum+1来累加达到递增行号. ...

  2. mysql中如何获取年、月、日及本周是一年中的第几周??

    select year(curdate()),month(curdate()),day(curdate()); select weekofyear(curdate()); 有点细微的差别,weekof ...

  3. MySQL中查询获取每个班级成绩前三名的学生信息

    CREATE TABLE t_testscore( pk_id INT PRIMARY KEY, c_name VARCHAR(50) , c_score INT, c_class INT )DEFA ...

  4. mysql查询班级作业提交情况_MySQL中查询获取每个班级成绩前三名的学生信息

    标签: 今天有同事说到了怎么MySQL中查询获取每个班级成绩前三名的学生信息,在网上查了查,然后写出代码,很快就OK了. CREATE TABLE t_testscore(    pk_id INT ...

  5. python计算选手最后得分并取出前三名_MySQL中查询获取每个班级成绩前三名的学生信息...

    今天有同事说到了怎么MySQL中查询获取每个班级成绩前三名的学生信息,在网上查了查,然后写出代码,很快就OK了. CREATE TABLE t_testscore(    pk_id INT PRIM ...

  6. mysql 获取距离当前最新的记录_一文带你了解 MySQL 中的各种锁机制!

    云栖号资讯:[点击查看更多行业资讯] 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! MySQL中的锁机制,按粒度分为行级锁,页级锁,表级锁,其中按用法还分为共享锁和排他锁. 行级锁 ...

  7. mysql中获取一天、一周、一月时间数据的各种sql语句写法

    来源:http://www.jb51.net/article/50505.htm 今天抽时间整理了一篇mysql中与天.周.月有关的时间数据的sql语句的各种写法,部分是收集资料,全部手工整理,自己学 ...

  8. mysql pdo 获取最后一条sql_一条SQL如何在MYSQL中执行的

    mysql主要分为Server层和存储引擎层 Server层:主要包括连接器.查询缓存.分析器.优化器.执行器等:所有跨引擎的功能都包含在这里面,如存储过程.触发器.视图.函数及通用日志模板bingl ...

  9. Mysql 中获取刚插入的自增长id的值

    1 insert into user (username,password) VALUES ('zyl','123'); 2 //获取刚插入的自增长id的值 3 select last_insert_ ...

最新文章

  1. iOS 应用程序的启动流程及其代理
  2. 【ASP.NET】免费的WebConfig编辑工具
  3. wget安装Jenkins
  4. 内部类不能有静态变量(除静态的对Static的理解)
  5. 计算机组成原理 第三章【存储系统】课后作业解析【MOOC答案】
  6. 【已完结!】Java基础--学习笔记(零起点打开java世界的大门)--博客汇总表【附:视频、工程源码、资料、详细笔记】
  7. 如何在React Native和Firebase中设置Google登录
  8. c++ 数组的输入遇到特定字符停止输入_C语言 第4章-字符串和格式化输入/输出
  9. python手册中文版pdf-python中文官方文档 PDF 下载
  10. 如何安装PDF打印机
  11. DelayQueue使用
  12. Word 页眉 页脚 出现一条横线删不掉
  13. html下拉栏去掉样式,怎么去掉下划线样式?
  14. Java年度考核表个人工作总结_个人年度工作总结java
  15. 漏洞复现——Chrome 浏览器的 0day 远程代码执行漏洞 (附poc)
  16. 文件上传与下载之数据库实现
  17. idea中Rebuild是什么意思
  18. CSU2020:Artwork(并查集)
  19. 运用简单C语言代码打印一棵圣诞树
  20. 杰理之BQB 的 RF 测试【篇】

热门文章

  1. 20万奖金池!【阿里安全 × ICDM 2022】大规模电商图上的风险商品检测赛火热报名中!...
  2. 【ZT】Android Activity和Intent机制学习
  3. 复盘_7月(第5周工作复盘)
  4. 怎样查看红米k40运行内存
  5. 模电十一:模拟实际电路设计
  6. 计算机开题报告指导教师意见,开题报告指导教师意见.doc
  7. ap备考计算机科学a考情分析,真确备考AP计算机科学的方法
  8. 传统单体应用、SOA(面向服务)、微服务之间的对比
  9. salesforce apex常用方法(总结)
  10. 16.Oracle杂记——数据字典dba_tab_ privs