MySQL ser underforespørgslen kun returnere et enkelt felt/række, og behandler det derfor som noget i retning af:
... and A.id IN ('1,2,3,4')
som koger ned til A.id = '1,2,3,4'
.
For en 'i'-forespørgsel er der ikke behov for group_concat-tingene, bare gør:
... and A.id IN (select B.id FROM b where user = 3)