MySQL WHERE 比较多个值中的多个值
MySQL WHERE Comparing Multiple Values IN Multple Values
有没有办法在MySQL中实现这个(使用伪代码):
SELECT .... WHERE (1,4,3,6) IN (SELECT id FROM atable);
子查询 "SELECT ... atable" returns row ids 3,9,8,1
期望的效果是在 2 组字段重叠的地方做一些事情,即上例中的 3 和 1。
原因?我需要比较(来自 PHP)具有逗号分隔值的字段,并在记录适用的情况下执行操作。然而,在我的用例中,在 PHP 中执行此操作的选项是不可能的,因为其他一些太复杂的原因无法在此处解释。
我一直在网上搜索,但没有偶然发现类似的东西。
我想你想要
SELECT id FROM atable WHERE id IN (1,4,3,6);
如果 id
不存在于 atable
中,它不会显示在结果中。如果 id
不在 (1,4,3,6) 列表中,它也不会出现。你得到的就是路口。
有没有办法在MySQL中实现这个(使用伪代码):
SELECT .... WHERE (1,4,3,6) IN (SELECT id FROM atable);
子查询 "SELECT ... atable" returns row ids 3,9,8,1
期望的效果是在 2 组字段重叠的地方做一些事情,即上例中的 3 和 1。
原因?我需要比较(来自 PHP)具有逗号分隔值的字段,并在记录适用的情况下执行操作。然而,在我的用例中,在 PHP 中执行此操作的选项是不可能的,因为其他一些太复杂的原因无法在此处解释。
我一直在网上搜索,但没有偶然发现类似的东西。
我想你想要
SELECT id FROM atable WHERE id IN (1,4,3,6);
如果 id
不存在于 atable
中,它不会显示在结果中。如果 id
不在 (1,4,3,6) 列表中,它也不会出现。你得到的就是路口。