我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql怎样求两个查询的交集

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql怎样求两个查询的交集

这篇文章主要介绍mysql怎样求两个查询的交集,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

mysql求两个查询交集的方法:首先查满足单组变量键值对的流程实例id;然后将每个变量键值对作为条件都分别查出对应的流程实例id;最后对这两组流程实例id取交集,这样得到的就是想要的结果了。

mysql求两个查询交集的方法:

一、项目需求:

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

二、详细说明:

1、流程变量表act_hi_varinst

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

mysql怎样求两个查询的交集

图1

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

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

mysql怎样求两个查询的交集

图2

三、代码实现

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

SELECT
ahv.PROC_INST_ID_,
ahv.NAME_,
ahv.TEXT_
FROM
act_hi_varinst ahv
WHERE
(ahv.NAME_, ahv.TEXT_) IN (
('formId', '142'),
('approveType', 'sealApply')
);

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

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

SELECT
PROC_INST_ID_
FROM
(
SELECT
ahv.PROC_INST_ID_
FROM
act_hi_varinst ahv
WHERE
(ahv.NAME_, ahv.TEXT_) = ('formId', '142')
UNION ALL
SELECT
ahv.PROC_INST_ID_
FROM
act_hi_varinst ahv
WHERE
(ahv.NAME_, ahv.TEXT_) = ('approveType', 'sealApply')
) t
GROUP BY
PROC_INST_ID_
HAVING
count(PROC_INST_ID_) = 2;

以上是mysql怎样求两个查询的交集的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql怎样求两个查询的交集

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

sql怎么查询两个表的交集

要查询两个表的交集,你可以使用SQL的INNER JOIN操作符。以下是一个示例:```sqlSELECT table1.column1, table2.column2FROM table1INNER JOIN table2ON table
2023-09-05

Python中怎么求两个数组的交集

Python中怎么求两个数组的交集,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。题目:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2
2023-06-02

Mysql怎么查询时间段交集

这篇文章主要介绍Mysql怎么查询时间段交集,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Mysql 查询时间段交集使用场景数据库表有两个字段starttime,endtime。现在给出(a,b)的时间段,查出和(s
2023-06-15

php中两个数组求交集的函数是哪个

本篇内容介绍了“php中两个数组求交集的函数是哪个”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!有8个交集函数:1、array_inters
2023-06-30

access两个表交叉表查询怎么实现

要实现两个表的交叉表查询,可以使用SQL语句中的JOIN操作来实现。具体步骤如下:首先,确定两个表之间的关联字段(例如ID字段),以便在查询时使用。使用JOIN操作将两个表连接起来。可以使用INNER JOIN、LEFT JOIN、RIGH
access两个表交叉表查询怎么实现
2024-03-15

sql如何查询两个表的并集

SQL查询两个表的并集可以使用UNION操作符实现。UNION操作符用于合并两个或多个SELECT语句的结果集,并返回所有不重复的行。以下是一个示例查询两个表的并集的SQL语句:```SELECT * FROM table1UNIONSEL
2023-09-15

MySQL查询并集、交集、差集的方式是什么

在MySQL中,可以使用以下方式查询并集、交集和差集:1. 并集(UNION):使用UNION关键字将两个或多个查询结果合并为一个结果集。例如,查询表A和表B的并集:```SELECT * FROM AUNIONSELECT * FROM
2023-08-09

如何用c语言求两个字符串的交集

这期内容当中小编将会给大家带来有关如何用c语言求两个字符串的交集,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。求两个字符串的交集,看似简单,实则需要考虑的细节很多。我的思路:1.将两个字符串简化,将里面重
2023-06-22

编程热搜

目录