我有以下查询:
SELECT A.id FROM logsen_alertes A
WHERE
( SELECT LA2.type_colocation_id
FROM logsen_liaisons_annonces_types_colocations LA2
WHERE LA2.annonce_id = 25 AND LA2.annonce_type = 4
)
IN
( SELECT L4.souhait
FROM logsen_liaisons_alertes_souhaits L4
WHERE L4.alerte_id = A.id
)
当我的第一个子查询仅返回 1 个值时,此查询运行良好,因为这就是 IN() 的工作方式,在一组值中查找 1 个唯一值。当我的第一个子查询返回 2 个或更多值时,MySQL 会返回“子查询返回超过 1 行”。当第一个子查询返回多个值时,如何使我的查询有效?像“我在 [这些值中的任何一个] 中找到的 [这些值中的任何一个]”之类的东西?