mysql – 用于过滤id列表的SQL搜索
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql – 用于过滤id列表的SQL搜索,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1014字,纯文字阅读大概需要2分钟。
内容图文
![mysql – 用于过滤id列表的SQL搜索](/upload/InfoBanner/zyjiaocheng/903/32fd3d2b3ed44966865afc686b6965a8.jpg)
我很好奇是否有一种狡猾的方法只能通过SQL完成以下操作.我有一个来自一个数据库的id列表,我想要针对另一个数据库/表过滤此列表.要求是:
>在表格中搜索匹配的id;如果匹配且该记录满足另一个约束(其中field2为null),则将其从初始列表中删除.
>返回(1)中的结果以及初始列表中第二个表中未找到的任何id.
例如,如果我的列表包含id的[1,2,3,4],我希望过滤的my_table看起来像:
+-------+--------+
| my_id | Field2 |
+-------+--------+
| 1 | true |
| 2 | |
| 3 | true |
+-------+--------+
然后我希望最终的结果是[1,3,4].过滤掉id = 2的记录,因为Field2为空,并且4保留,因为它根本不在表中.
到目前为止,我提出的所有内容都在下面,符合要求(1),但不符合要求(2):
select distinct my_id
from my_table where my_id IN (1,2,3) --csv list of id's
and not exists
(select my_id
from my_table
where my_id IN (1,2,3) and field2 is null)
是否有可能通过从我的初始id列表中创建临时记录集来以某种方式使用MINUS?
解决方法:
SELECT DISTINCT t1.my_id
FROM my_table t1
LEFT JOIN my_table2 t2
ON t1.my_id = t2.field2
WHERE t1.my_id IN (1,2,3)
AND t2.field2 IS NULL
内容总结
以上是互联网集市为您收集整理的mysql – 用于过滤id列表的SQL搜索全部内容,希望文章能够帮你解决mysql – 用于过滤id列表的SQL搜索所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。