百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql怎样求两个查询的交集
分享文章到:

mysql怎样求两个查询的交集

发布时间:12/01 来源:未知 浏览: 关键词:
mysql求两个查询交集的办法:第一查知足单组变量键值对的流程实例id;然后将每个变量键值对作为前提都离别查出对应的流程实例id;最后对这两组流程实例id取交集,这样得到的就是想要的效果了。

mysql求两个查询交集的办法:第一查知足单组变量键值对的流程实例id;然后将每个变量键值对作为前提都离别查出对应的流程实例id;最后对这两组流程实例id取交集,这样得到的就是想要的效果了。

图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怎样求两个查询的交集的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板