Вы можете добавить к вашему запросу предложение HAVING
, которое утверждает, что данный набор key
записей содержит имя John
:
SELECT
a.`key`,
GROUP_CONCAT(b.name) names
FROM A a
LEFT JOIN B b
ON a.`key` = b.`key`
GROUP BY
a.`key`
HAVING
SUM(b.name = 'John') > 0;
Примечание: key
является зарезервированным MySQLключевое слово, и вы не должны использовать его для именования ваших столбцов (хотя, возможно, вы привели его только в качестве примера).