Se você deseja selecionar com base em uma lista de As (não ALL As), faça assim:
SELECT b_id
FROM ab
WHERE a_id IN (1,2)
GROUP BY b_id
HAVING COUNT(a_id) = 2
Substitua
(1,2)
com sua lista e 2
na cláusula tendo com o número de itens da lista. Se você obtiver sua lista de As de uma subconsulta, poderá fazer assim (não no MySQL, no entanto ...):
WITH subquery (
--subquery code here
)
SELECT b_id
FROM ab
WHERE a_id IN subquery
GROUP BY b_id
HAVING COUNT(a_id) = (SELECT COUNT(*) FROM subquery)
No MySQL, você teria que colocar seu código de subconsulta duas vezes e descartar a cláusula WITH.
Você também pode usar uma tabela temporária, o que levaria à seleção de ALL As dessa tabela temporária e, portanto, a resposta de Gordon Linoffs ...