有没有办法在MySQL中实现这一点(使用伪代码):
SELECT .... WHERE (1,4,3,6) IN (SELECT id FROM atable);
通过子查询" SELECT ... atable"返回行ID 3,9,8,1
期望的效果是做2个字段重叠的事情,即上例中的3和1。
原因?我需要比较(从PHP)字段与逗号分隔值并执行记录适用的操作。但是,在我的用例中出现这种在PHP中执行此操作的选项是不可能的,因为其他一些原因太复杂,无法在此解释。
我一直在网上搜索,但没有发现类似的事情。
答案 0 :(得分:2)
我想你想要
SELECT id FROM atable WHERE id IN (1,4,3,6);
如果id
中不存在atable
,则不会显示在结果中。如果id
不在(1,4,3,6)列表中,它也不会出现。你得到的就是交集。