Как работать с подзапросом который возвращает множество строк

У меня есть следующий запрос:

SELECT `id` FROM `a` WHERE ab = ( SELECT `id` FROM `c` WHERE `active` = 1 )

Ошибка: Підзапит повертає більш нiж 1 запис(Подзапрос возвращает больше чем 1 запись)

Что требуется: У меня есть две таблицы a и b, мне требуется получить id из таблицы a в случае если в ab указаны id из таблицы c, но при этом те id из таблицы c в которых в колонке active указана 1

Скорее всего объяснил ужасно, но буду благодарен за помощь


Ответы (1 шт):

Автор решения: Vitaliy Zlobin

Чтобы проверить вхождение значения поля в список значений используй IN:

SELECT id
FROM a
WHERE ab IN (SELECT id FROM c WHERE active = 1)
→ Ссылка